使用jQuery基于文本的文本更改链接的href属性

时间:2012-02-21 17:26:39

标签: jquery

我见过类似的线程,并且在他们的解决方案中尝试过语法,但没有任何工作。

我想根据链接的文本更改某个页面的所有链接的href属性。这就是我现在所拥有的:

$('.class li a').attr('href', '#' + $(this).text());

$(this).text()似乎没有返回任何内容。自从我使用jQuery以来已经有一段时间了,所以我对此问题感到困惑。我还尝试了.val().html()

3 个答案:

答案 0 :(得分:4)

在此上下文中,$(this)未引用当前的a代码。

你可以试试这个:

$('.class li a').each(function(){ 
       $(this).attr('href', '#' + $(this).text());
});

答案 1 :(得分:1)

this引用$('.class li a').attr('href', '#' + $(this).text());不是链接标记.. jQuery提供第二个arg也是一个函数,其中this将引用链接标记..所以像下面应该做的。

DEMO

尝试,

$('.class li a').attr('href', function () { 
    return '#' + $(this).text()
});

答案 2 :(得分:0)

$(".class li a").each(function(){
    $(this).attr('href', '#' + $(this).text()); 
});