Jquery Найти определенный класс с определенным значением атрибута

#jquery #jquery-selectors

#jquery #jquery-селекторы

Вопрос:

В настоящее время в моем коде есть что-то подобное

 <input class="parameterValueInput" trigger="@item.Name">
 

Что я хотел бы сделать, так это изменить содержимое ввода, который имеет имя класса parameterValueInput и атрибут, вызываемый trigger со значением «Значение триггера»;
Я не уверен, как написать селектор для этого. есть предложения?

Ответ №1:

Вы можете попробовать так :

 $("input[class=parameterValueInput][trigger=triggerValue]").focus() 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<input class="parameterValueInput" trigger="triggerValdue">
<input class="parameterValueInput" trigger="triggerValu2e">
<input class="parameterValueInput" trigger="triggerValue"> 

Как, @mplungjan сказал в комментарии, чтобы использовать $("input.parameterValueInput[trigger=triggerValue]") , если у вас есть mutliple класс else, если только один класс использует выше.

Комментарии:

1. $("input.parameterValueInput[trigger=triggerValue]") вероятно, более безопасно

2. Ваш селектор завершится ошибкой при <input class="parameter parameterValueInput"

3. @mplungjan да, вы правы 🙂 Спасибо за предложение. Я добавил ваше предложение в свой ответ.

4. ВСЕГДА используйте .class, ДАЖЕ если у вас есть один класс, поскольку добавление класса и разрыв скрипта занимает всего секунду. Это может быть добавлено даже из другой части скрипта, поэтому НИКОГДА не используйте class=SomeClass поверх .SomeClass