this.class vs. diese.getAttribute('class')

Habe ich ein radio-button, und wenn Sie gedrückt wird, eine Funktion aufgerufen wird, die akzeptiert, dass die Klasse für den button als argument. So etwas wie dieses:

<input class="myclass" type="radio" name="name" value="x" checked="true" onClick="myFunction(this.value, this.getAttribute('class'))"></input>

Feststellen, dass in meinem onClick, ich habe this.getAttribute('class') anstatt einfach this.class. Ich habe versucht, mit this.class aber ich habe immer undefined. Ist this.class keine akzeptable Sache zu tun? Ich habe verwendet this.id an anderer Stelle in meinem code, der funktioniert gut, aber für einige Grund ich getAttribute wenn ich will, um die Referenz-Klasse.

Also im Grunde bin ich der Frage " was ist der Unterschied zwischen this.class und this.getAttribute('class')?

  • this.class ist falsch; Sie soll den Zugang this.className.
  • Oder classList: developer.mozilla.org/en-US/docs/Web/API/element.classList
  • getAttribute sieht für HTML-Attribute. Mit this.class sieht für einen JS-Attribut, die nicht existiert. Die JS-Entsprechung des HTML - class Attribut ist className. class ist auch ein reserviertes Schlüsselwort in JavaScript, so vermeiden Sie es.
  • mögliche Duplikate von HTML - Attribute vs-Eigenschaften
  • vielen Dank an alle - diese.className ist in der Tat, was ich wollte
InformationsquelleAutor pwerth | 2014-08-18
Schreibe einen Kommentar