我有一个HTML,如下所示
<div class="t1t2Wrapper" style="padding:0px 10px 0px">
<ul class="breadcrumb pull-left" id="mybreadcumb" style="background:none; margin-bottom:0px;">
<li>PQR<i class="icon-angle-right"></i></li>
<li>Burger<i></i></li>
</ul>
<label class="pull-right" style="padding:8px;"><label>Brand Name</label>None</label>
</div>
var ids = [];
$('.breadcrumb').each(function () {
ids.push($(this).find('li').text());
})
alert(ids);
如何创建数组
PQR,汉堡
答案 0 :(得分:3)
您需要解析li
代码以及ul
代码......
http://jsfiddle.net/6kb7dhwq/5/
var ids = [];
$('.breadcrumb li').each(function () {
ids.push($(this).text());
})
alert(ids);
您之前所做的只是获取了子li
标记中的所有文本,并将其连接起来。这会将它们视为单独的元素,因此会推动每一段文本。
答案 1 :(得分:1)
你需要迭代孩子,而不是UL:
var ids = [];
$('.breadcrumb').children('li').each(function () {
ids.push($(this).text());
})
alert(ids);
答案 2 :(得分:1)
在您的选择器中,如果您使用了'.breadcrumb > li'
或'.breadcrumb li'
代替'.breadcrumb'
,那么您的代码就可以正常使用。但是,我想分享另一种方法。
您可以按如下方式使用.map
:
var ids = $('.breadcrumb > li').map(function() {
return $(this).text();
}).get();
var ids = $('.breadcrumb > li').map(function() {
return $(this).text();
}).get();
alert( ids )
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="t1t2Wrapper" style="padding:0px 10px 0px">
<ul class="breadcrumb pull-left" id="mybreadcumb" style="background:none; margin-bottom:0px;">
<li>PQR<i class="icon-angle-right"></i></li>
<li>Burger<i></i></li>
</ul>
<label class="pull-right" style="padding:8px;"><label>Brand Name</label>None</label>
</div>
&#13;
答案 3 :(得分:0)
演示:http://jsfiddle.net/6kb7dhwq/7/
var ids = [];
$('.breadcrumb li').each(function () {
ids.push($(this).text());
})
答案 4 :(得分:0)
您需要获取li项而不是ul,然后使用.each()函数迭代每个li。示例如下:
$('.breadcrumb li').each(function () {
ids.push($(this).text());
})