如何引用当前的jquery元素 在集合迭代期间 在方法链中
$('a')
.attr( 'text', <GET_SELF_HERE>.text() + "any text" )
.click();
我认为有一些像$ .self()或$(&#39; self&#39;)来解决这个问题 $(this)不解决这种情况(返回undefined)
答案 0 :(得分:3)
与许多其他jQuery方法(.css()
,.offset()
等)一样,您可以提供一个函数作为attr
方法的第二个参数。这个函数将被调用多次,因为jQuery对象中包含了元素;每个调用的上下文(换句话说,this
)将是在此特定调用中处理的DOM元素。所以这是一种可能的方法:
$('a')
.attr('data-text', function() {
return $(this).text() + 'any text';
});
如果你真的想要更改链接的文本,请使用.text()(再次使用函数参数):
$('a')
.text(function(_, text) {
return text + 'some text';
});