如果我有这样的代码:
<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放入锚中。谢谢你们!
答案 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]始终是您正在寻找的范围