在点击div(任何'resultsMainContainer'div)时,我应该在该特定div中获得带有'result'类的div id。
<div class="resultsMainContainer">
<div id="48" class="sbsCard panel result">
abcd
</div>
</div>
<div class="resultsMainContainer">
<div id="49" class="someCard result">
aabb
</div>
</div>
<div class="resultsMainContainer">
<div id="50" class="sbsCard panel3 result">
nnaaa
</div>
</div>
<div class="resultsMainContainer">
<div id="33" class="sbsCard panel result">
abcddd
</div>
</div>
我试过了:
$('body').on('click', '.resultsMainContainer', function() {
alert($(this).next(".result").attr("id"));
});
但这似乎不起作用。
还有其他想法/选择吗?
或者我犯了什么错误:)?
答案 0 :(得分:2)
使用.children()或.find()代替.next()
$('body').on('click', '.resultsMainContainer', function() {
alert($(this).children(".result").attr("id"));
});
和
使用.prop()代替.attr()
alert($(this).children(".result").prop("id"));
答案 1 :(得分:1)
使用jQuery .find(),改为:
alert($(this).find(".result").attr("id"));
答案 2 :(得分:1)
使用find代替next,因为.result位于“resultsMainContainer”里面而不是它旁边。
$('body').on('click', '.resultsMainContainer', function() {
alert($(this).find(".result").attr("id"));
});