Hinzufügen eines Attributs in jQuery


Antworten:


519

Sie können Attribute attrwie folgt hinzufügen :

$('#someid').attr('name', 'value');

Doch für DOM - Eigenschaften wie checked, disabledund readonlydie richtige Art und Weise , dies zu tun (wie von JQuery 1.6) zu verwenden prop.

$('#someid').prop('disabled', true);

28
Bei mir $('#someid').prop('disabled', true);funktioniert das nicht, aber es $('#someid').attr('disabled', true);funktioniert gut.
Vukašin Manojlović

4
Stimme @ VukašinManojlović zu .. für mich das gleiche.
Sstauross

3
Bevor Sie sich entscheiden, ob Sie attroder verwenden möchten prop, ist es wichtig, den Unterschied zwischen Eigenschaften und Attributen zu verstehen. Ohne den Unterschied zu verstehen, werden Sie wahrscheinlich auf unerwartetes Verhalten stoßen. Siehe stackoverflow.com/a/6004028/3367343
Travis Hohl

Kann Prop jetzt als Ersatz für attr verwendet werden? oder wird es nur in besonderen Fällen verwendet?
Chaudhry Waqas

41

Beste Lösung: Ab jQuery v1.6 können Sie mit prop () eine Eigenschaft hinzufügen

$('#someid').prop('disabled', true);

Verwenden Sie zum Entfernen removeProp()

$('#someid').removeProp('disabled');

Reference

Beachten Sie außerdem, dass die Methode .removeProp () nicht verwendet werden sollte, um diese Eigenschaften auf false zu setzen. Sobald eine native Eigenschaft entfernt wurde, kann sie nicht mehr hinzugefügt werden. Weitere Informationen finden Sie unter .removeProp ().


29

Sie können dies mit der .attrFunktion von jQuery tun, mit der Attribute festgelegt werden. Das Entfernen erfolgt über die .removeAttrFunktion.

//.attr()
$("element").attr("id", "newId");
$("element").attr("disabled", true);

//.removeAttr()
$("element").removeAttr("id");
$("element").removeAttr("disabled");

1
Bonus für die Aufnahmefunktion!
BoatCode





0

Dies könnte hilfreicher sein ....

$("element").prop("id", "modifiedId");
//for boolean
$("element").prop("disabled", true);
//also you can remove attribute
$('#someid').removeProp('disabled');

Attribute und Eigenschaften sind nicht genau gleich. Zum Beispiel ist "id" ein Attribut, keine Eigenschaft. Sie verwenden, .attr()um es einzustellen oder zu lesen. Siehe den Abschnitt "Attribute vs. Eigenschaften" unter .prop () und .attr () in den jQuery-Dokumenten. Siehe auch die Antwort von Paul Rosania oben.
JKDEV


0

Verwenden Sie diesen Code <script> $('#someid').attr('disabled,'true'); </script>


Es wäre schöner, wenn Sie eine Erklärung haben könnten
Mooga

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> Fügen Sie einfach den jQuery-Link nach dem Schreiben des Codes ein. Text innerhalb des $ -Symbols Wählen Sie alle Elemente mit id = someid aus. Das deaktivierte Attribut dieser ID ändert sich in true
Vildan Bina,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.