jquery:一个div的onclick - 得到以下div的id

时间:2013-10-17 10:41:33

标签: jquery css html onclick

在点击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"));
});

但这似乎不起作用。 还有其他想法/选择吗?
或者我犯了什么错误:)?

3 个答案:

答案 0 :(得分:2)

使用.children().find()代替.next()

$('body').on('click', '.resultsMainContainer', function() {
     alert($(this).children(".result").attr("id"));
});

使用.prop()代替.attr()

alert($(this).children(".result").prop("id"));

阅读.prop() vs .attr()

答案 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"));
});