Fehler: SyntaxError: DOM-Ausnahme 12-Tag der Erstellung Mit jQuery
Ich habe Folgendes javascript:
var orderItemQuantity = $('<input/>', {
type: 'hidden',
name: 'order_detail[][quantity]',
value: itemQuantity
});
Den oben genannten javascript-wirft die folgende Fehlermeldung:
Error: SyntaxError: DOM Exception 12
Dieser arbeitet ohne Fehler:
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
});
Ich habe in der folgenden Frage aber die Antwort nicht geben Sie genau den richtigen Grund, WARUM.
Hier ist meine DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Frage: Warum $('<input/>')
und $('<input>')
werfen die besagte Ausnahme, während $('<li/>')
ist nicht ein problem?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie sicher, dass jQuery geladen in deinem ersten Beispiel.
Selbst wenn Sie nicht über jQuery geladen wird, wird die Funktion
$()
ist nun definiert durch Google Chrome als so etwas ähnliches wiequerySelectorAll()
.Diese Funktion akzeptiert nur einen CSS-Selektor als parameter und nicht eine beliebige HTML wie jQuery
$()
.Aus der docs:
Die Funktion erwartet wird ein CSS-Selektor, und Sie gab es HTML -, so gab es einen syntax-Fehler.
Sehen diese Geige, es funktioniert Prima:
http://jsfiddle.net/S6d6w/