Задать вопрос
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(), но тут посложнее, мне кажется.
  • Вопрос задан
  • 176 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 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, или если это все тяжело, то может это не ваша ниша?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы