如果包含特定文本,请更改链接颜色

时间:2012-05-09 09:43:22

标签: javascript html css

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";}

希望很明显我正在尝试做什么 - 如果页面上有包含搜索短语的链接,请将其颜色更改为黑色。这不行。有什么想法吗?

感谢。

4 个答案:

答案 0 :(得分:3)

innerHTML属性不是函数,因此请勿使用()

答案 1 :(得分: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";}

答案 2 :(得分: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没有功能!这是一个属性!

答案 3 :(得分:0)

更简洁的方法是使用jQuery:

var searchTerm = 'term1';

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