如何在点击链接之前找到元素?

时间:2013-11-01 17:43:54

标签: jquery

如果我有这样的代码:

<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放入锚中。谢谢你们!

3 个答案:

答案 0 :(得分:1)

你很亲密。元素是兄弟,而不是父母。

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

答案 1 :(得分:1)

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

关于是否使用.text()或.html()的一些注意事项:

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

如果用作名为onClick =“doThis(this);”的可调用函数:“

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

答案 2 :(得分:0)

试试这个:

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

假设html结构没有改变(例如,子[0]始终是您正在寻找的范围