根据文本更改超链接的类

时间:2013-07-30 01:00:06

标签: javascript css disqus

我正在尝试设置一个网页,其中包含指向对其进行Disqus评论的网页的链接。有关向评论that Disqus provides添加评论计数的具体指导,但这并不是很好。您只能使用<a>元素,并用新文本替换超链接的文本。

所以,如果我在我的网站上创建这样的超链接:

<a href="http://mysite.com/posts/1234#disqus_thread">linktext</a>

页面加载后,它看起来像这样:

<a class="link-processed" href="http://mysite.com/posts/1234#disqus_thread">
   (1 and 0)
</a>

(请注意,默认情况下,替换文本将是“1条评论和0条反应”,但我修改了默认文本以仅返回括号中的数字。)

当超链接的文本是“(0和0)”时,我想隐藏链接。当它是其他任何东西时,我想用图像链接替换链接的文本(小气泡或类似的东西。)

我认为这样做的方法可能是使用几个类。我默认应用第一个类(hidelink),并使用javascript将第二个类应用于<a>元素。

然而,现在我被卡住了。 Javascript不是我的原生域名。这似乎应该是一个简单的任务,但是?

1 个答案:

答案 0 :(得分:0)

您的浏览器要求是什么?如果您使用的是IE8 +(或大多数其他浏览器),您可以使用querySelectorAllgetElementsByClassName获取所有已处理的链接,然后检查其文字是否符合您的条件:

var elems = document.querySelectorAll('.link-processed');
for(var i = 0, size = elems.length; i < size; i++)
{
    if(elems[i].innerText === "(0 and 0)")
    {
        //0 and 0. Do something
    }
}

或者,如果你正在使用jQuery,你可以使用伪类:contains简单地选择包含“0和0”的所有元素:

$("a:contains('0 and 0')")