-3

我有一段代码基本上看起来像这样:

<div class="parent">
  <a href="#" class="link"></a>
    <div class="text"> Some plain text </div>
</div> 

现在我将一个 href 附加到div.text这样的位置:

$('div.text').each(function(){
    $(this).append('<a class="append" href="' + $(this).attr('href') + '"></a>');
});​

问题是我需要从a.link. 我如何上一层到那个href?显然 'this'行不通。我也不能用类名来调用它,因为有很多a.link而且它们也是动态创建的。我也不能使用“父母”或“父母”,由于某种原因,它在我的脚本中不起作用。

4

1 回答 1

4

.parent()将不起作用,因为该a元素是兄弟,而不是父元素。您可以.prev()改用:

$(this).append('<a class="append" href="' + $(this).prev().attr('href') + '"></a>');

.prev()方法将返回前一个元素。如果要更改标记,还可以使用.prevAll(".link"), 或.siblings(".link").

于 2012-10-07T21:29:55.183 回答