选择一个可折叠菜单项的链接,但不是它的后代
问题描述:
我有一个功能,我切换背景图像(加号和减号图标)。选择一个可折叠菜单项的链接,但不是它的后代
当我展开子列表并单击链接时,它也切换其子项目的图标,但它不应该。这会导致添加减号图标。
$('.expandor a:first-child').click(function (e) {
e.preventDefault();
$(this).next('ul').slideToggle();
$(this).parent('li').toggleClass('expandor dexpandor');
});
Demo 负图标应该在那里只有点击的Windows 8应可以切换图像时。
答
更改此:
$('.expandor a:first-child').click
这样:
$('.expandor > a:first-child').click
// ^-------------------------- explicit child selector
而且,我怀疑:first-child
伪选择是不必要在这里。
完美,谢谢!你能解释为什么第一个不能像其他人那样工作吗? – Grasper
不,它不是。它是一个后代选择器,它搜索所有从属元素。 (你的孙辈不是你的孩子。) – isherwood
但它说第一个孩子是一个链接, – Grasper