2013-03-30 20 views
8

Kullanılması Etiket Oluşturma DOM İstisna 12 Aşağıdaki javascript vardır:Hata: SyntaxError: jQuery

Error: SyntaxError: DOM Exception 12 

Bu seferki hatasız çalışır:

var orderItemQuantity = $('<input/>', { 
    type: 'hidden', 
    name: 'order_detail[][quantity]', 
    value: itemQuantity 
}); 

yukarıdaki javascript aşağıdaki hata iletisi atar:

var newListItem = $('<li/>', { 
    html: 
    $('#item_name_'+itemId).text() + 
    '(' + $('#item_quantity_' + itemId).val() +')' + 
    '<a onclick="removeItem(' + itemId + ')">Delete this</a>' + 
    '<input type="hidden" name="order_detail[][item_id]" value="' + itemId + '"/>', 
    id: itemId 
}); 

aşağıdaki question kontrol ama cevap c belirtmedi NEDEN doğru nedeni NEDEN.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

Soru: Burada

benim DTD'dir $('<li/>') bir sorun değil iken neden $('<input/>') ve $('<input>') sözü istisna geliyor?

cevap

9

İlk örneğinizde jQuery yüklü olduğundan emin olun.

jQuery yüklü olmasa bile, $() işlevi, Google Chrome tarafından querySelectorAll()'a benzer bir şekilde tanımlanmıştır.

Bu işlev, parametre olarak bir CSS seçiciyi kabul eder ve jQuery'nin $() gibi rasgele HTML'yi kabul etmez. Dokümanlar

: işlevi, bir CSS seçici bekliyor ve bir sözdizimi hatası verdi bu yüzden HTML verdi

SYNTAX_ERR code 12 In invalid or illegal string has been specified; for example setting the selectorText property of a CSSStyleRule with an invalid CSS value.

.

gayet güzel çalışıyor, bu keman bakınız:

http://jsfiddle.net/S6d6w/