【发布时间】:2012-11-08 06:02:14
【问题描述】:
我在 jQuery 中使用 $.find() 方法,但无法获得与选择器条件匹配的所有结果。
这是我的 HTML
<div class="something">
<label> Hello </label>
<div class="selse">
<label> Hi </label>
<label class="imp"> This is </label>
<label class="imp"> Nooo </label>
</div>
<label class="imp"> Sparta </label>
<label class="imp"> Right ? </label>
</div>
<div class="something">
<label> Hell No </label>
<div class="selse">
<label> Hi </label>
<label class="imp"> Cant </label>
</div>
<label class="imp"> touch </label>
<label class="imp"> this </label>
<label class="imp"> MC </label>
</div>
所以当我做下面的 JS 时
$("div.something").each(function(index) {
alert(index + ': ' + $(this).find("label.imp").html())
});
我预计它会给我 2 个警报。一个是 0. This is, Nooo, Sparta, Right ? ,另一个是 1. Cant, touch, this, MC 。但我只有 0. This is 和 1. Cant 。
我尝试在这样的同一函数中使用数组
$("div.something").each(function(index) {
var arr=[]
arr = $(this).find("label.cidForm").html();
alert(arr);
});
不,我会收到带有“未定义”的警报框。在这两种情况下我做错了什么?我只想要一个包含 label.imp 元素内所有值的数组。
这是我提出的一个 JSFiddle。 http://jsfiddle.net/WPeKF/1/
【问题讨论】:
-
试着描述你想做什么,而不是你做错了什么。
-
我在帖子末尾提到过。没有包括在主题中。对不起。
标签: javascript jquery html find