2013-11-01 71 views
0

如果我有這樣的代碼:如何在點擊鏈接之前找到元素?

<div class="container"> 
    <span class="pID">12342123</span> 
    <a href="#" class="but">click here</a> 
</div> 

<div class="container"> 
    <span class="pID">98765432</span> 
    <a href="#" class="but">click here</a> 
</div> 

<div class="container"> 
    <span class="pID">2342342</span> 
    <a href="#" class="but">click here</a> 
</div> 

我如何使它所以如果鏈接被點擊,請轉到PID和一個自己的容器內搶#?

$('.but').on('click',function(){ 
    var pID = $(this).parent('pID').text(); ? 
}); 

Fyi,我沒有任何控制把PID放在錨點。多謝你們!

+1

你也可以使用'.prev()'。 –

回答

1
$('.but').on('click',function(){ 
    var pID = $(this).siblings('.pID').html(); 
}); 

是否使用的.text一些考慮()或.html():

What is the difference between jQuery: text() and html() ?

如果使用如稱爲的onClick =「doThis一個可調用的函數(這) ;「:

function doThis(el) { 
    var pID = $(el).siblings('.pID').html(); 
} 
+0

我是一個塗料...把onclick放在錯誤的元素中。謝了哥們! – Damien

1

你很近。元素是兄弟姐妹,而不是父母。

$(this).siblings('.pID').text(); 
+0

AHHHHHH ........導致他們的相關!尼斯。多謝,夥計! – Damien

0

試試這個:

$('.but').on('click',function(){ 
    var pID = this.parentElement.children[0].textContent 
}); 

假設html結構不發生變化(例如,兒童[0]永遠是你正在尋找的範圍

相關問題