Как скрыть data-attribute, когда значение атрибута что-то - PullRequest
0 голосов
/ 01 февраля 2020

Я хочу скрыть кнопку поля ссылки, когда значение кнопки равно «Порядок работы», см. Изображение ниже.

enter image description here

Мой HTML код:

enter image description here

Я попробовал это $("li[data-label='Work Order']").hide(), но не сработало.

1 Ответ

2 голосов
/ 01 февраля 2020

li не совпадает с элементом с атрибутом data-label. Если вы хотите скрыть <a> внутри, используйте строку селектора a[data-label='Work%20Order']:

$("a[data-label='Work%20Order']").hide()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a data-label="Work%20Order">link</a>

Вам сделать необходимо использовать %20 внутри селектора.

Если вы хотите всегда скрывайте такой элемент, вы можете достичь этого только с помощью CSS - нет необходимости в jQuery или любом Javascript вообще. Используйте ту же строку селектора плюс display: none:

a[data-label='Work%20Order'] {
  display: none;
}
<a data-label="Work%20Order">link</a>

Если вы хотите скрыть весь контейнер <li>, когда один из его дочерних элементов имеет такой атрибут, выберите каждый из этих элементов с помощью jQuery и позвоните .parent() на него:

$("a[data-label='Work%20Order']").parent().hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li>
    <a data-label="Work%20Order">link</a>
  </li>
  <li>
    <a>link 2</a>
  </li>
  <li>
    <a data-label="Work%20Order">link 3</a>
  </li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...