2012-05-09 75 views
0
var test = document.body.getElementsByTagName("a"); 
for (var i=0; i<test.length; i++) 
if(test[i].innerHTML().indexOf("search string") != -1){test[i].style.color="black";} 

希望很明显我想要做的事 - 如果有一个包含搜索短语的网页上的链接,改变它的颜色为黑色。虽然这不起作用。有任何想法吗?更改链接的颜色,如果它包含某些文本

谢谢。

+0

解决了!意味着是innerHTML,而不是innerHTML() – JoeRocc

回答

3

innerHTML是属性不是功能,所以不要使用()

+0

欢呼的人,只是在您发布时才意识到 – JoeRocc

2

innerHTML不是函数,它是一个属性。尝试这样做,而不是:

var test = document.body.getElementsByTagName("a"); 
for (var i=0; i<test.length; i++) 
if(test[i].innerHTML.indexOf("search string") != -1){test[i].style.color="black";} 
0
var test = document.body.getElementsByTagName("a"); 
for (var i=0; i<test.length; i++) { 
    var newElem = test[i].innerHTML; 
    if(newElem.indexOf("searchString") != -1){ 
    test[i].style.color="black"; 
    } 
} 

的innerHTML是没有的功能!这是一个财产!

0

做的更清洁的方式将是使用jQuery:

var searchTerm = 'term1'; 

$('a').filter(function (a) { 
    if (this.innerHTML.indexOf(searchTerm) != -1) 
     return true; 
    return false;   
}).css('color','red')