在jquery中遍历dom?

时间:2009-08-19 05:39:13

标签: javascript jquery dom

我的代码类似于以下内容:

<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。感谢。

2 个答案:

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

你当然首先要检查一个“上一个”的兄弟姐妹是否确实存在。你可以适应寻找下一个等等。

祝你好运!
-f!