我有一段代码基本上是这样的:
<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。我该如何升级到那个href?显然'this'
不起作用。我也不能通过类名调用它,因为有很多a.link
,它们也是动态创建的。我也不能使用'父母'或'父母',因为某些原因它在我的脚本中不起作用。
答案 0 :(得分:4)
.parent()
无效,因为a
元素是兄弟,而不是父级。您可以改为使用.prev()
:
$(this).append('<a class="append" href="' + $(this).prev().attr('href') + '"></a>');
.prev()
方法将返回前一个元素。如果要更改标记,您还可以使用.prevAll(".link")
或.siblings(".link")
。