Как скрыть тег метки в jQuery, который имеет определенное значение для атрибута "для"?
Я хочу скрыть этот тег метки:
<label for="id_url">URL</label>
Единственное, что отличает его от других элементов формы, - это значение внутри атрибута for. У меня нет доступа к форме html, чтобы добавить к ней класс или идентификатор. Итак, как я могу скрыть это?
Ответы
Ответ 1
Используйте селектор атрибутов.
$('label[for="id_url"]').hide();
Если вам нужно использовать отдельную переменную, которая содержит значение целевого атрибута:
var target = 'id_url'; // or whatever
$('label[for="' + target + '"]').hide();
Ответ 2
Атрибут Equals будет точно соответствовать значению любого атрибута.
$('label[for="id_url"]').hide()
http://api.jquery.com/attribute-equals-selector/
Вы также можете использовать другие селектора (начинается с, заканчивается и т.д.), если у вас много ярлыков и/или не обязательно может найти идеальное совпадение.
http://api.jquery.com/category/selectors/
EDIT: обратите внимание, что с точки зрения производительности селекторы на основе атрибутов довольно медленны. Если их у них много, это может привести к довольно заметному замедлению производительности, особенно в IE. Если вам нужно сделать это довольно много, вы можете захотеть взглянуть на более крупные архитектурные изменения (если это возможно).
Ответ 3
Используйте селектор атрибутов jQuery :
$('label[for="id_url"]').hide();