2014-04-08 5 views
19

Czy można wybrać selektor jQuery, gdzie: contains() jest wyrażeniem regularnym?jQuery: zawiera (regex)?

Potrzebuję wybrać element, w którym innerHTML zawiera coś, co można znaleźć za pomocą regex?

Wiem, że to krótkie pytanie. Przepraszam.

var t = $("#id a:containsRegex("/[0-9]/g")"); // Doesn't work 
+12

Wykorzystanie '.filter()' – zerkms

Odpowiedz

22

spróbować

var regex = new RegExp("[0-9]"); // expression here 

$("#id a").filter(function() { 
    return regex.test($(this).text()); 
}); 
+0

@Pilot użyciem 'innerText' jest źle. Zamiast tego użyj '$ (this) .text()'. – Tomalak

+0

@ Tomalak Updated..'innerText' dotyczy tylko elementów bloków? M I right Master –

+3

fyi możesz użyć 'var regex =/[0-9] /;' aby uczynić go bardziej czytelnym – ThiefMaster