Heim >Web-Frontend >js-Tutorial >Detaillierte Einführung in den Unterschied zwischen Eigenschaften und Attributen in JavaScript_Grundkenntnisse
1. Definition
Eigenschaft: Attribut. Der Typ HTMLElement erbt direkt von Element und fügt einige Attribute hinzu, die den folgenden fünf Standardmerkmalen jedes HTML-Elements entsprechen. dir, Klassenname. Ein DOM-Knoten ist ein Objekt und kann daher wie andere JavaScript-Objekte benutzerdefinierte Eigenschaften und Methoden hinzufügen. Der Wert der Eigenschaft kann ein beliebiger Datentyp sein und unterscheidet zwischen Groß- und Kleinschreibung. Benutzerdefinierte Eigenschaften werden nicht im HTML-Code angezeigt, sondern sind nur in js vorhanden.
Attribut: Attribut, anders als Attribut, Attribut kann nur eine Zeichenfolge sein, Groß-/Kleinschreibung wird nicht beachtet, erscheint in innerHTML, alle Attribute können über die Klassenarray-Attribute aufgelistet werden.
2. Ähnlichkeiten
Standard-DOM-Eigenschaften und -Attribute werden synchronisiert. Erkannte (nicht benutzerdefinierte) Eigenschaften werden DOM-Objekten in Form von Attributen hinzugefügt. Zum Beispiel ID, Ausrichtung, Stil usw. Zu diesem Zeitpunkt können Sie die Eigenschaft bedienen oder die DOM-Methode zum Bedienen von Merkmalen wie getAttribute () verwenden, um das Attribut zu bedienen. Der an getAttribute() übergebene Attributname ist jedoch derselbe wie der tatsächliche Attributname. Daher muss „class“ übergeben werden, wenn der Attributwert der Klasse abgerufen wird.
3. Unterschiede
1). Bei einigen Standard-Feature-Operationen gibt es Unterschiede in den von getAttribute und dem Punkt (.) erhaltenen Werten. Wie href, src, value, style, onclick und andere Event-Handler.
2).href: getAttribute ruft den tatsächlichen Wert von href ab, während der Punkt die vollständige URL abruft, daher gibt es Browserunterschiede.
Das Abrufen des Werts von src erfolgt ähnlich wie bei href, der IE gibt jedoch auch die vollständige URL zurück
Der Wert verfügt außerdem über einige integrierte Eigenschaften für die unidirektionale Synchronisierung.
Beispielsweise wird input.value vom Attribut synchronisiert (d. h. die Eigenschaft wird vom Attribut synchronisiert)
Bei Ereignishandlern wie style und onclick gibt die getAttribute-Methode beim Zugriff eine Zeichenfolge zurück, und der Punkt gibt die entsprechende Objekt- und Ereignisbehandlungsfunktion zurück.
Für das geprüfte Attribut in der Eingabe
getAttribute ruft den Wert ab, den Sie tatsächlich festgelegt haben. Der Punkt gibt einen booleschen Wert zurück.
Unterschiede in der Browserkompatibilität
1. In IE 2. IE
Immobilie bevorzugen
In tatsächlichen Anwendungen verwenden 98 % der DOM-Vorgänge Eigenschaften.
Es gibt nur zwei Situationen, in denen Sie Attribute verwenden müssen
1. Passen Sie die HTML-Attribute an, da sie nicht mit den DOM-Eigenschaften synchronisiert sind.
2. Greifen Sie auf integrierte HTML-Attribute zu, die nicht über Eigenschaften synchronisiert werden können. Beispielsweise der Wert des INPUT-Tags.