JQuery元素在链内引用自身

时间:2014-11-28 21:37:29

标签: jquery

如何引用当前的jquery元素 在集合迭代期间 在方法链中

$('a')
    .attr( 'text', <GET_SELF_HERE>.text() + "any text" )
    .click();

我认为有一些像$ .self()或$(&#39; self&#39;)来解决这个问题 $(this)不解决这种情况(返回undefined)

1 个答案:

答案 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'; 
  });