在IE8中 使用JQ 根据class 获取html标签,只能获取一个。请问如何获取全部。下面是我调试发现的问题

<ul class="accordion">
<li><a href="#" hidefocus="true" class="accordion-menu"><span class="menu_ico"></span>
<span class="menu_title" id="GetPName1">监测数据</span><span class="accordion_bottom" /></a><ul
class="sub-menu">
<li><a class="sub_link" href="/pager/RealTimeDatasystem.aspx" id="GetName6" target="main"
hidefocus="true" onclick="GetValue(1,6)">实时数据查询</a></li>
<li><a class="sub_link" href="/pager/datachecksystem.aspx" id="GetName7" target="main"
hidefocus="true" onclick="GetValue(1,7)">数据审核</a></li>
</li>
<li><a href="#" hidefocus="true" class="accordion-menu"><span class="menu_ico"></span>
<span class="menu_title" id="GetPName0">基本信息管理</span><span class="accordion_bottom" /></a><ul
class="sub-menu">
<li><a class="sub_link" href="/pager/StationSystem.aspx" id="GetName0" target="main"
hidefocus="true" onclick="GetValue(0,0)">站点管理</a></li>
<li><a class="sub_link" href="/pager/ItemSystem.aspx" id="GetName1" target="main"
hidefocus="true" onclick="GetValue(0,1)">项目管理</a></li>
</ul>
</li>
</ul>

JQ代码

$(document).ready(function () {
// Store variables
//这里是我获取头部分,在IE8中调试发现只获取length=1,其他浏览器正常
//求教!!!
var accordion_head = $('.accordion > li > a ');

var accordion_body = $('.accordion li > .sub-menu');
// Open the first tab on load
alert(accordion_head.length);
accordion_head.first().addClass('active').next().slideDown('normal');
// Click function
accordion_head.click(function (event) {
// Disable header links
event.preventDefault();
// Show and hide the tabs on click
if ($(this).attr('class') != 'active') {
accordion_body.slideUp('normal');
$(this).next().stop(true, true).slideToggle('normal');
accordion_head.removeClass('active');
$(this).addClass('active');
}
});
});

第1个回答  推荐于2016-05-24
数据审核</a></li>
</li>
改成
数据审核</a></li>
</ul>

第二,把两处
<span class="accordion_bottom" />
改成
<span class="accordion_bottom" ></span>本回答被提问者采纳
相似回答