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

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

谢谢。

4

4 回答 4

3

innerHTML是属性而不是函数,所以不要使用().

于 2012-05-09T09:46:25.487 回答
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";}
于 2012-05-09T09:47:02.280 回答
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 是没有功能的!是财产!

于 2012-05-09T09:50:15.300 回答
0

一种更简洁的方法是使用 jQuery:

var searchTerm = 'term1';

$('a').filter(function (a) {
    if (this.innerHTML.indexOf(searchTerm) != -1)
        return true;
    return false;           
}).css('color','red')
于 2012-05-09T09:54:19.620 回答