2011-11-07 47 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