繁体   English   中英

更改链接颜色(如果其中包含某些文本)

[英]Change link colour if it contains certain text

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

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

谢谢。

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

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

内HTML是没有功能的! 这是财产!

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

var searchTerm = 'term1';

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM