我的代码类似于以下内容:
<div class="class1">
<a class="link1" src="...">...</a>
</div>
<div class="class2">
<a class="link2" src="...">...</a>
</div>
假设我目前处于类link2的click事件中,如何获取link1超链接的src值?这些是动态生成的,所以可能有很多这个代码的实例,所以我需要从$ this遍历dom到link1。感谢。
答案 0 :(得分:4)
$('a.link2').click(function() {
console.log($(this).parent().prev('div.class1').children('a.link1'));
});
答案 1 :(得分:1)
一个灵活的解决方案可能是,如果您为调用class1和class2的div添加了一个公共标识符,您可以找到您父母的上一个兄弟。例如,您可以使用以下内容代替HTML:
<div class="class1 someClass">
<a class="link1 someLink" src="...">...</a>
</div>
<div class="class2 someClass">
<a class="link2 someLink" src="...">...</a>
</div>
然后,在所有链接上的onclick函数中,例如,
$('a.someLink').click(function() {
var $someContainer = $(this).parents('someClass:first');
var $prevContainer = $someContainer.prev();
// now you can work with $prevContainer ...
});
你当然首先要检查一个“上一个”的兄弟姐妹是否确实存在。你可以适应寻找下一个等等。
祝你好运!