在Jquery 1.4.1中,下面的代码按预期工作。但是,当我尝试升级到1.4.4或1.5.1时,我会感到有点古怪。 这是一个树视图,您点击+/-然后它会展开或折叠。 当我尝试新版本的JQuery时,孩子的展开/折叠也会触发父母也会触发。 它基于此,http://www.javascripttoolbox.com/jquery/
任何想法我做错了和/或需要改变以使其适用于更新版本的JQuery?
$('div.tree div').live("click", function() {
var o = $(this);
o.children('div').toggle();
o.filter('.parent').toggleClass('expanded');
});
div.tree div.parent
{
cursor: pointer !important;
background: transparent url(../../Images/plus.gif) no-repeat top left;
font-size: 12px;
}
div.tree div.expanded
{
background: transparent url(../../Images/minus.gif) no-repeat top left;
font-size: 12px;
}
答案 0 :(得分:0)
如果没有您使用的HTML,很难回答,但我认为您误解了jQuery选择背后的逻辑。执行以下操作时:
o.filter('.parent').toggleClass('expanded');
您正在选择所有div.tree元素中的所有div.parent元素。所以很自然,如果你是5个孩子并且打电话给这个函数,那么标记为父母的一切都将被切换。除非我误解你如何设置HTML标记