1

在单击一个 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"));
});

但这似乎不起作用。还有其他想法/选择吗?
还是我犯了任何错误:)?

4

3 回答 3

2

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

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

使用 .prop() 而不是 .attr()

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

阅读.prop() 与 .attr()

于 2013-10-17T10:42:16.400 回答
1

使用 find 而不是 next,因为 .result 在“resultsMainContainer”内而不是在它旁边。

$('body').on('click', '.resultsMainContainer', function() {
  alert($(this).find(".result").attr("id"));
});
于 2013-10-17T10:56:01.593 回答
1

使用 jQuery .find(),更改为:

alert($(this).find(".result").attr("id"));
于 2013-10-17T10:42:30.850 回答