Carduelis
@Carduelis
Web-developer, front-end, js, less

Есть ли синтаксический сахар для поиска элемента по его атрибуту в jQuery?

Довольно частенько нужно выбрать элемент по его атрибуту, или по значению атрибута.
В результате пишется что-то вроде $someEl.find('a[href="'+someVar+'"]'), и вроде бы ничего, но кусочек +'"]') меня наталкивает на определенные мысли. Когда там два подряд атрибута, то вообще жесть выходит.

Хотелось бы увидеть что-то вроде $someEl.find('a').where('href',someVar).
P.S.: Ну, и плюс, как быть с data-атрибутами. Используя $el.data() они не устанавливаются в DOM, как быть с этим?
P.P.S.: Да, можно написать велосипедик, как, например, .toggleClass(), но тут посложнее, мне кажется.
  • Вопрос задан
  • 175 просмотров
Решения вопроса 3
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Хотелось бы увидеть что-то вроде $someEl.find('a').where('href',someVar).
Напишите небольшой плагин, который добавляет тот сахар, что вам подходит, это очень просто же.

Используя $el.data() они не устанавливаются в DOM, как быть с этим?
Использовать дополнительно $el.prop().
Ответ написан
Комментировать
AMar4enko
@AMar4enko
Use Babel, Luke
$someEl.find(`a[href="${href}"]`)
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
P.S.: Ну, и плюс, как быть с data-атрибутами. Используя $el.data() они не устанавливаются в DOM, как быть с этим?

RTFM.
$elem.attr('data-foo', 'bar');

Никакая не жесть. Используйте Babel, или если это все тяжело, то может это не ваша ниша?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы