我见过类似的线程,并且在他们的解决方案中尝试过语法,但没有任何工作。
我想根据链接的文本更改某个页面的所有链接的href属性。这就是我现在所拥有的:
$('.class li a').attr('href', '#' + $(this).text());
$(this).text()
似乎没有返回任何内容。自从我使用jQuery以来已经有一段时间了,所以我对此问题感到困惑。我还尝试了.val()
和.html()
。
答案 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
将引用链接标记..所以像下面应该做的。
尝试,
$('.class li a').attr('href', function () {
return '#' + $(this).text()
});
答案 2 :(得分:0)
$(".class li a").each(function(){
$(this).attr('href', '#' + $(this).text());
});