Dodanie atrybutu w jQuery


Odpowiedzi:


519

Możesz dodać atrybuty za pomocą attr:

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

Jednak dla właściwości DOM podoba checked, disabledi readonly, właściwy sposób to zrobić (jak jQuery 1.6) jest w użyciu prop.

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

28
Dla mnie $('#someid').prop('disabled', true);nie działa, ale $('#someid').attr('disabled', true);działa dobrze.
Vukašin Manojlović

4
Zgadzam się z @ VukašinManojlović .. dla mnie to samo.
sstauross

3
Zanim zdecydujesz, czy masz zamiar użyć attrlub prop, ważne jest, aby zrozumieć różnicę między właściwości i cech. Bez zrozumienia różnicy możesz spodziewać się nieoczekiwanego zachowania. Zobacz stackoverflow.com/a/6004028/3367343
Travis Hohl

czy prop może być teraz używany jako zamiennik ATTR? czy jest używany tylko w niektórych szczególnych przypadkach?
Chaudhry Waqas,

41

najlepsze rozwiązanie: z jQuery v1.6 możesz użyć prop (), aby dodać właściwość

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

aby go usunąć, użyj removeProp()

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

Reference

Należy również pamiętać, że metoda .removeProp () nie powinna być używana do ustawiania tych właściwości na false. Po usunięciu właściwości natywnej nie można jej ponownie dodać. Aby uzyskać więcej informacji, zobacz .removeProp ().


29

Możesz to zrobić za pomocą .attrfunkcji jQuery , która ustawi atrybuty. Usuwanie ich odbywa się za pomocą .removeAttrfunkcji.

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

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

1
Bonus za włączenie funkcji usuwania!
BoatCode





0

To może być bardziej pomocne ....

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

Atrybuty i właściwości nie są dokładnie takie same. Na przykład „id” jest atrybutem, a nie właściwością. Możesz .attr()go ustawić lub odczytać. Zobacz akapit „Atrybuty kontra właściwości” w .prop () i .attr () w dokumentach jQuery. Zobacz także odpowiedź Paula Rosanii powyżej.
jkdev


0

użyj tego kodu <script> $('#someid').attr('disabled,'true'); </script>


byłoby
miło,

Wystarczy dołączyć link jQuery po napisaniu kodu <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> Tekst wewnątrz symbolu $ zaznacz wszystkie elementy o id = someid, wyłączony atrybut tej zmiany id na true
Vildan Bina
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.