2011-11-07 72 views
0

我怎样才能得到一个链接,是在同一div作为另一元素的属性(HREF)的属性,见下面的例子:得到一个链接这是在同一div

<div id="wrap"> 
     <div id="column1"> 
     <div class="desc">Some stuff</div> 
     <a href="#1" class="url link1">Link1</a> 
     </div> 
     <div id="column2"> 
     <div class="desc2">Another Some stuff</div> 
     <a href="#" class="url link2">Link2</a> 
     <div> 
    </div> 


    <div id="wrap"> 
     <div id="column1"> 
     <div class="desc">Some stuff</div> 
     <a href="#2" class="url link1">Link1</a> 
     </div> 
     <div id="column2"> 
     <div class="desc2">Another Some stuff</div> 
     <a href="#" class="url link2">Link2</a> 
     <div> 
    </div> 

当我点击第一包装DIV的LINK2,jQuery的得到HREF的第一包装DIV的链接1的。

我知道我们可以在jQuery中使用.attr()获得href,但是如何使用jQuery将其归档?

+1

你不应该使用重复ID – Rafay

+0

你是否重复相同的ID?这个例子有两个id为'link1'的元素 –

+0

ops它应该是类 – sm21guy

回答

1

比方说,你得到当前<a>元素(链接2)已点击使用$(this),你可以得到Link1使用这个:

alert($(this).parent().prev().find('a.link1').attr('href'));

+0

是的,这是答案 – sm21guy

0

修改HTML删除重复的ID和使用类,而不是

<div class="wrap"> 
     <div id="column1"> 
     <div class="desc">Some stuff</div> 
     <a href="#1" class="url" id="link1">Link1</a> 
     </div> 
     <div id="column2"> 
     <div class="desc2">Another Some stuff</div> 
     <a href="#" class="url" id="link2">Link2</a> 
     <div> 
    </div> 


    <div class="wrap"> 
     <div id="column1"> 
     <div class="desc">Some stuff</div> 
     <a href="#2" class="url" id="link1">Link1</a> 
     </div> 
     <div id="column2"> 
     <div class="desc2">Another Some stuff</div> 
     <a href="#" class="url" id="link2">Link2</a> 
     <div> 
    </div> 

jQuery的

$(".wrap").delegate("a","click",function(e){ 
e.stopPropagation(); 
    alert($(this).attr("href")); 

}); 

http://jsfiddle.net/3Bh5J/1/

+0

停止传播会停止链接功能吗?因为有一个函数被分配给链接,当它们被点击时 – sm21guy

+0

没有'preventDefault()','stopPropagation'停止事件冒泡DOM – Rafay

+0

好吧,我会试试 – sm21guy