这是一个简单的代码 -
var ulreq = $("#abc").children("ul.ghi");
var lists = ulreq.find("li");
for( var i = 0; i < lists.length; ++i){
alert(lists[i].text());
//show show the values in these li
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="abc">
<ul class="def">
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
<ul class="ghi">
<li>d</li>
<li>e</li>
<li>f</li>
</ul>
</div>
<div id="lkj">
<ul class="def">
<li>g</li>
<li>h</li>
<li>i</li>
</ul>
<ul class="ghi">
<li>j</li>
<li>k</li>
<li>l</li>
</ul>
</div>
它应该弹出 d Ë F 我没有得到我错的地方..请检查 提前完成。
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
答案 0 :(得分:1)
问题在于:
alert(lists[i].text());
当您索引到jQuery对象时,您正在访问原始DOM元素。原始DOM元素没有text
方法。这就是你的浏览器告诉你的时间:
Uncaught TypeError: lists[i].text is not a function
你要么
alert($(lists[i]).text());
或
alert(lists.eq(i).text());
以下是后者:
var ulreq = $("#abc").children("ul.ghi");
var lists = ulreq.find("li");
for( var i = 0; i < lists.length; ++i){
alert(lists.eq(i).text());
//show show the values in these li
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="abc">
<ul class="def">
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
<ul class="ghi">
<li>d</li>
<li>e</li>
<li>f</li>
</ul>
</div>
<div id="lkj">
<ul class="def">
<li>g</li>
<li>h</li>
<li>i</li>
</ul>
<ul class="ghi">
<li>j</li>
<li>k</li>
<li>l</li>
</ul>
</div>