如何在没有jQuery的情况下应用":contains"选择器?

Ken*_*der 1 javascript css jquery

我希望能够做到这一点

$( "div:contains('John')" ).css( "text-decoration", "underline" );
Run Code Online (Sandbox Code Playgroud)

没有使用jQuery,只是直接javascript,我找不到相同的

我知道我在寻找indexOf,但把它放在一起并不符合我目前的心态.

kar*_*ikr 12

像这样的东西?

var divs= document.getElementsByTagName('div');
var len = divs.length;
for (var i = 0; i < len; i++) {
    if(divs[i].innerHTML.indexOf("John") != -1) {
        divs[i].className += " underline"
    }
}
Run Code Online (Sandbox Code Playgroud)

并在css

.underline{
   text-decoration: underline;
}
Run Code Online (Sandbox Code Playgroud)


小智 5

可能是这样的:

var elements = document.getElementsByTagName("div");
for (var i=0;i<elements.length;i++) {
    var elem = elements[i];
    if (elem.innerHTML.indexOf("John") != -1) {
        // do whatever you plan to do
    }
}
Run Code Online (Sandbox Code Playgroud)