In Ihrer Abfrage möchten Sie Eingabeelemente zunächst deaktivieren und dann aktivieren, wenn Sie auf a klicken Link. Ihr Code entfernt jedoch das Attribut „disabled“ nicht.
Um Elemente in jQuery effektiv zu deaktivieren oder zu aktivieren, verwenden Sie immer das prop()-Methode. Diese Unterscheidung ist wichtig, da prop() Eigenschaften behandelt, während attr()/removeAttr() Attribute verarbeitet.
In Ihrem speziellen Fall wäre der richtige Code:
$("#edit").click(function(event){ event.preventDefault(); $('.inputDisabled').prop("disabled", false); // Elements are now enabled. });
Siehe die aktualisierter Code in Aktion bei dieser jsFiddle: [Link zu jsFiddle]
While attr() /removeAttr() kann Elemente technisch aktivieren/deaktivieren, dies wird aufgrund möglicher Inkonsistenzen nicht empfohlen. Prop() verwaltet explizit Eigenschaftswerte und sorgt so für zuverlässigeres Verhalten.
Vor jQuery 3.0 (vor 2016)
removeAttr() hat das deaktivierte Attribut vollständig entfernt und das festgelegt Eigenschaft auf false. Umgekehrt hat prop() nur den booleschen Wert der Eigenschaft geändert.
jQuery 3.0 und höher
prop() bleibt der empfohlene Ansatz, da removeAttr() jetzt nicht mehr festgelegt wird die entsprechende Eigenschaft auf false. Diese Unterscheidung ist für moderne Browser unerlässlich, die zwischen Attributen (Anfangswerten) und Eigenschaften (aktuellen Werten) unterscheiden.
Das obige ist der detaillierte Inhalt vonSo aktivieren Sie Eingabeelemente mit jQuery mithilfe von prop() korrekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!