Boolean HTML-Attribute
Gibt es einige Attribute in HTML, die "boolean" - Browser behandeln diese als "wahr", wenn Sie vorhanden sind, unabhängig vom Wert. Ein Beispiel für ein solches Attribut ist ausgewählt auf die <option>
tag. Ein weiterer ist überprüft auf <input type="checkbox">
.
Wenn Sie einen Anruf zu setAttribute()
für solch ein Attribut, scheint es keinen Wert, den Sie festlegen können, um die Browser konsequent so Verhalten, als wäre das Attribut fehlt.
Beispielsweise
option.setAttribute("selected", false)
immer noch markieren Sie die option ausgewählt. nulleiner leeren Zeichenfolge oder undefined nicht funktioniert. Wenn jemand weiß, ein Wert, den ich einstellen kann, um mein Ziel erreichen, bitte lassen Sie mich wissen, aber ich glaube nicht, dass einer vorhanden ist. (Weil einige framework-code, den ich verwenden, nicht aufrufen setAttribute()
oder das aufrufen von removeAttribute()
schwierig ist.)
Ich versuche zu finden, eine erschöpfende Liste solcher Attribute zu speziellen Fall. Hier ist, was ich habe, so weit:
- ausgewählt von
<option>
- überprüft von
<input>
- deaktiviertreadonly von
<input>
<select>
<option>
<optgroup>
<button>
<textarea>
- mehrere von
<select>
Bitte helfen Sie mir, dieses komplette Liste - oder zeigen Sie mir eine vorhandene.
InformationsquelleAutor der Frage levik | 2009-04-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dann würde ich behaupten, dass der framework-code muss repariert werden, oder dumping.
Können Sie nicht setAttribute auf "unset" - ein Attribut, durch das design. Jede Lösung, die Sie gefunden, mit out-of-band-Werte wie 'null', wenn es passiert ist, um die Arbeit in einem bestimmten browser, wäre ziemlich ungültig nach der DOM-Core-standard.
setAttribute() ist in jedem Fall am besten vermieden werden, im browser (nicht-XML) HTML-Kontext. IE pre-8 nicht kennen den Unterschied zwischen einem DOM-Attribut und JavaScript-Eigenschaft, die leicht dazu führen, dass viele wirklich seltsame Probleme. Wenn Sie versuchen, 'checked' als Attribut (was Sie theoretisch tun sollte, indem es den string "checked"), erwarten Sie nicht, IE zu kooperieren.
Die vollständige Liste der boolean-Attribute in HTML 4.01 (und damit auch XHTML 1.0), ist (mit Namen der Eigenschaft, wo Sie sich unterscheiden in Fall):
InformationsquelleAutor der Antwort bobince
Versuchen removeAttribute:
EDIT: Nach dem Lesen Ihren Kommentar, zu Lesen diese über setAttribute. Vor allem:
InformationsquelleAutor der Antwort jthompson
in Zellen z.B. TD, TH
für den Datensatz, ändern Sie Attribute wie checked (checkbox/radio-Elemente), die Sie tun können.
oder
InformationsquelleAutor der Antwort scunliffe
Können Sie nicht nur verwenden
removeAttribute()
?InformationsquelleAutor der Antwort Greg
Nicht genau, was du fragst nach, aber sowohl die 'Klasse' und 'für' Attribute erhalten unterschiedliche DOM-Namen
InformationsquelleAutor der Antwort Peter Bailey