Страницы

Поиск по вопросам

пятница, 19 апреля 2019 г.

Как записать правильно вот такой селектор JavaScript [не jQuery]

Хотелось бы записать вот такой селектор:
document.querySelectorAll(".smallinnertable:not(:has(a))");
На jQuery работает, а на чистом JS нет. Такой селектор очень нужен. Спасибо за помощь.


Ответ

Вряд ли что-то есть прям в точности легкое и простое. Ведь даже на Jquery написан хорошенький и хитрый фильтр для селекторов.
Поэтому, как вариант, написать что-то самому. Например что-то подобное:
function getElementHasNotAnother(selector, filterEl) { var divs = document.querySelectorAll(selector), filter = Array.prototype.filter; return filter.call( divs, function( node ) { return node.querySelectorAll(filterEl).length == 0; }); } var result = getElementHasNotAnother('.smallinnertable', 'a'); /*********** check *************************/ for (var el in result) { console.log(result[el].textContent); }

1231
werjhwer
879879
4 34

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

Отправить комментарий