我有一个区域列表和相应的国家/地区..当我点击一个区域时,列表应该在折叠所有其他区域时展开。此外,当我再次点击同一区域时,它应该切换。 但在我的情况下,除了切换功能以外,每个工作正常都没有正常工作。
$(document).ready(function(){
$("tbody[id*='titl']").live('click',function(){
var nextId = ('#' + $(this).next("tbody[id*='tbod']").attr('id'));
$("tbody[id*='tbod']").each(function(){
var hideId = ('#' + $(this).attr('id'));
if(nextId != hideId)
{
$(hideId).hide();
}
else
{
$(hideId).toggle();
}
});
});
答案 0 :(得分:1)
尽管您使用上下文tbody[id*='titl']
选择器计算了nextID,但在此之后,当您调用$("tbody[id*='tbod']").each(function()
时,正在搜索整个DOM以查找匹配元素。
您应该写:$(this).next("tbody[id*='tbod']").each(function(){
,以便您在附近的元素中搜索live tbody元素