Альтернатива JQuery выбрке
$('.advclass:contains(7789)') Как такой поиск по содержимому можно реализовать без JQuery? |
|
AntonMs,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .red{ background-color: #FF0000; } </style> </head> <body> <p>1</p><p class="advclass">7789</p><p class="advclass">1</p> <script> function get(sel,str) { return Array.prototype.filter.call(document.querySelectorAll(sel), function(el) { return el.textContent.indexOf(str) > -1 }) } var elem = get('.advclass','7789')[0] elem.classList.add('red') </script> </body> </html> |
рони,
Спасибо, все работает |
Решение на ES6:
Array.from(document.querySelectorAll(".advclass")).filter( (node) => node.innerHTML.contains(7789) ); |
С сохранением типа и немножко ES7:
document.querySelectorAll(".advclass")::Array.prototype.filter( (node) => node.innerHTML.contains(7789) ); |
Erolast,
:thanks: |
Часовой пояс GMT +3, время: 19:19. |