Eingabekästchen wahr oder aktiviert oder ja [duplicate]
Lesezeit: 3 Minuten
Benutzer1032531
Ich habe die drei Implementierungen der Vorauswahl eines Kontrollkästchens gesehen. Ich begann mit der Verwendung von “checked=”checked”, weil ich dachte, dass dies der “richtige” Weg sei (das “checked”=”yes” mochte ich jedoch nie). Ich denke darüber nach, zu “checked=”true”” zu wechseln, da es lesbarer erscheint und das JavaScript einfacher zu codieren ist. Beachten Sie, dass dieselbe Frage auch für andere Attribute gilt, z. B. „deaktiviert“ = „deaktiviert“ im Vergleich zu „deaktiviert“ = „true“. Solange ich konsequent bin, ist die Verwendung von “true” der bevorzugte Ansatz? Vielen Dank
Was ist mit $(‘eingabe[name=foo]’).attr(‘checked’, true);? Sollte es wirklich $(‘input[name=foo]’).attr(‘geprüft’, ‘geprüft’)?
– Benutzer1032531
31. Mai 2012 um 12:08 Uhr
Nur checked und checked="checked" sind gültig. Ihre anderen Optionen hängen von der Fehlerbehebung in Browsern ab.
checked="yes" und checked="true" sind besonders schlimm, da sie das implizieren checked="no" und checked="false" setzt den Standardzustand auf sein ungeprüft … was sie nicht tun werden.
Entschuldigung, wollte es hier hinzufügen … Was ist mit $(‘input[name=foo]’).attr(‘checked’, true);? Sollte es wirklich $(‘input[name=foo]’).attr(‘geprüft’, ‘geprüft’)?
– Benutzer1032531
31. Mai 2012 um 12:09 Uhr
Es sollte sein jQuery(selector).prop('checked', true); (attr widersprüchlich, wie es mit dem Attribut „checked“ umgeht, sollte also um des Gehirns der Betreuer willen vermieden werden).
– QUentin
31. Mai 2012 um 12:12 Uhr
Wirklich, checked="checked" sieht genauso schlimm aus, wie es das implizieren könnte checked="not-checked", oder eine Ableitung von gleich impliziert ungeprüft. Es ist wirklich ein Set/Notset-Problem.
– Benutzer1032531
5. Januar 2017 um 2:39 Uhr
Flavio Cysne
Laut W3C Das Attribut der geprüften Eingabe kann fehlen/weggelassen werden oder „geprüft“ als Wert haben. Andere Werte werden dadurch nicht ungültig, da es keine Einschränkung für die Browserimplementierung gibt, um Werte wie „true“, „on“, „yes“ usw. zuzulassen. Um sicherzustellen, dass Sie ein browserübergreifendes Kontrollkästchen/Radio schreiben, verwenden Sie checked=”checked”, wie von empfohlen W3C.
die Attribute disabled, readonly und ismap input gehen auf die gleiche Weise.
BEARBEITET
empty ist kein gültiger Wert für die Attribute der Eingabe “checked”, “disabled”, “readonly” und “ismap”, wie von @Quentin gewarnt
Nein. Es besagt, dass das Attribut „checked“ weggelassen werden kann oder den Wert „checked“ haben kann. Das macht jeden anderen Wert ungültig (HTML lässt Sie nur Dinge verwenden, die erlaubt sind, es lässt Sie nicht alles verwenden, was nicht verboten ist). Da es sich um ein boolesches Attribut handelt, können Sie alles weglassen außer den Wert, während das Attribut vorhanden ist. dh gegeben checked="checked" Sie können die ersten 9 Zeichen und das letzte Zeichen übernehmen).
– QUentin
31. Mai 2012 um 12:22 Uhr
Ich sagte, dass dies andere Werte nicht ungültig macht Browser könnten ihre Methode zum Parsen von HTML nach Belieben implementieren, da sie ein ommited/absent-checked-Attribut oder checked=”checked” als akzeptieren empfohlen von W3C. Ich akzeptiere die Verneinung, weil „leer“ kein gültiger Wert ist, aber alles andere gilt trotzdem.
– Flavio Cysne
31. Mai 2012 um 12:41 Uhr
11587900cookie-checkEingabekästchen wahr oder aktiviert oder ja [duplicate]yes
Was ist mit $(‘eingabe[name=foo]’).attr(‘checked’, true);? Sollte es wirklich $(‘input[name=foo]’).attr(‘geprüft’, ‘geprüft’)?
– Benutzer1032531
31. Mai 2012 um 12:08 Uhr