Heim >Web-Frontend >js-Tutorial >So verwenden Sie setAttribute in JavaScript

So verwenden Sie setAttribute in JavaScript

高洛峰
高洛峰Original
2016-11-25 11:51:151770Durchsuche

Wir müssen Element in JavaScript häufig dynamisch hinzufügen. Dies kann durch die Verwendung von setAttribute() erreicht werden, was Probleme mit der Browserkompatibilität mit sich bringt.

setAttribute(string name, string value): Fügen Sie ein neues Attribut mit einem angegebenen Namen und Wert hinzu oder setzen Sie ein vorhandenes Attribut auf einen angegebenen Wert.

1. Stilprobleme

Die Klasse in setAttribute("class", value) bezieht sich auf die Änderung des Attributs "class" und muss daher in Anführungszeichen gesetzt werden.

vName stellt die Zuweisung eines Werts zum Stil dar.

Zum Beispiel:

var input = document.createElement("input");

input.setAttribute("type", "text");

input.setAttribute("name", "q");

input.setAttribute("class",bordercss);

Bei der Ausgabe: , das heißt, das Eingabesteuerelement verfügt über Bordercss-Stilattribute

Hinweis: Das Klassenattribut spielt im W3C DOM eine sehr wichtige Rolle, existiert aber aufgrund von Browserunterschieden immer noch .

Die Verwendung der setAttribute("class", vName)-Anweisung zum dynamischen Festlegen des Klassenattributs von Element funktioniert in Firefox, jedoch nicht im IE. Da der Browser, der den IE-Kern verwendet, „class“ nicht erkennt, muss er stattdessen „className“ verwenden.

Ebenso erkennt Firefox auch „className“ nicht. Die häufig verwendete Methode besteht also darin, beides zu verwenden:

element.setAttribute("class", value); //für Firefox

element.setAttribute("className", value); für IE

2. Methodenattribute und andere Probleme

Zum Beispiel:

var bar = document.getElementById("testbt");

bar.setAttribute("onclick", "javascript:alert('This is a test!');");

Hier verwenden wir setAttribute, um das onclick-Attribut von e anzugeben, was einfach ist und leicht zu verstehen.

Der IE unterstützt dies jedoch nicht, aber er unterstützt nicht die Verwendung von setAttribute zum Festlegen bestimmter Attribute, z. B. Objektattribute, Sammlungsattribute und Ereignisattribute Mit anderen Worten: Verwenden von setAttribute zum Festlegen von Stil und Onclick. Diese Eigenschaften funktionieren im IE nicht.

Um Kompatibilität mit verschiedenen Browsern zu erreichen, können Sie die Punktnotation verwenden, um die Objekteigenschaften, Sammlungseigenschaften und Ereigniseigenschaften von Element festzulegen.

document.getElementById("testbt").className = "bordercss";

document.getElementById("testbt").style.cssText = "color: #00f;";

document.getElementById("testbt").style.color = "#00f";

document.getElementById("testbt").onclick= function () { warning("Dies ist ein Test !"); }



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn