Додавання атрибута в jQuery


271

Як я можу додати атрибут до конкретних тегів HTML у jQuery?

Наприклад, як цей простий HTML:

<input id="someid" />

Потім додайте атрибут disabled = "true", як це:

<input id="someid" disabled="true" />

Відповіді:


519

Ви можете додати атрибути, використовуючи attrтак:

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

Однак для DOM властивостей, як checked, disabledі readonly, правильний спосіб зробити це (як у JQuery 1.6) - це використовувати prop.

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

28
Для мене $('#someid').prop('disabled', true);не працює, але $('#someid').attr('disabled', true);працює чудово.
Вукашин Манойлович

4
Погодьтеся з @ VukašinManojlović .. для мене те саме.
sstauross

3
Перед тим, як вирішити , чи будете ви використовувати attrабо prop, важливо розуміти різницю між властивостями і атрибутами. Не розуміючи різниці, ви, швидше за все, зіткнетеся з несподіваною поведінкою. Дивіться stackoverflow.com/a/6004028/3367343
Travis Hohl

чи може пропор використовуватися як заміна attr зараз? або він використовується лише в деяких особливих випадках?
Chaudhry Waqas

41

найкраще рішення: з jQuery v1.6 ви можете використовувати prop () для додавання властивості

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

щоб видалити його, використовуйте removeProp()

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

Reference

Також зауважте, що метод .removeProp () не повинен використовуватися для встановлення цих властивостей на значення false. Після видалення нативного ресурсу його більше не можна додати. Див. .RemoveProp () для отримання додаткової інформації.


29

Це можна зробити за допомогою .attrфункції jQuery , яка буде встановлювати атрибути. Видалення їх здійснюється за допомогою .removeAttrфункції.

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

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

1
Бонус за включення функції видалення!
BoatCode





0

Це може бути кориснішим ....

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

Атрибути та властивості не зовсім однакові. Наприклад, "id" - це атрибут, а не властивість. Ви використовуєте .attr()для встановлення чи читання. Дивіться параграф "Атрибути проти властивостей" під .prop () та .attr () в документах jQuery. Також дивіться відповідь Пола Розанія вище.
jkdev


0

використовувати цей код <script> $('#someid').attr('disabled,'true'); </script>


було б приємніше, якщо ви могли б мати якісь пояснення
mooga

Просто включіть посилання jQuery після запису коду <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> Текст усередині символу $ виберіть увесь елемент з id = someid, вимкнено атрибут цього зміни ідентифікатора на істинний
Vildan Bina
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.