jQuery更改元素而不更改其子元素
我想创建一个打开菜单,当我单击一次li时,它会打开并显示其他li,但我不希望单击打开的li(儿童li)时它会关闭。我希望它什么也不做。 所以我想选择李的父母,而不是他们的孩子,他们也是李。 这是我尝试过但不起作用的代码和解决方案jQuery更改元素而不更改其子元素,jquery,Jquery,我想创建一个打开菜单,当我单击一次li时,它会打开并显示其他li,但我不希望单击打开的li(儿童li)时它会关闭。我希望它什么也不做。 所以我想选择李的父母,而不是他们的孩子,他们也是李。 这是我尝试过但不起作用的代码和解决方案 <ul> <li class="only">1dkhg <img src="https://encrypted-tbn1.gstatic.com/images?q=tbn:AN
<ul>
<li class="only">1dkhg
<img src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSrRT0M-NSrnnPJrKSF3YtyJGtSXjcBQHuuql5vp-cUYEx-j-F8">
<ul>
<li class="no">1kldg</li>
<li class="no">2kldg</li>
<li class="no">3kldg</li>
</ul>
</li>
更好的结构是在根
li
中使用锚定
,这样当您单击锚定时,子ul
就会打开。通过这种方式,您可以避免担心事件冒泡,并且从语义上更准确地描述单击目标:
<ul id="nav">
<li>
<a href="#">Anchor</a>
<ul>
<li>sub anchors</li>
</ul>
</li>
</ul>
更好的结构是在根
li
中使用锚定
,这样当您单击锚定时,子ul
就会打开。通过这种方式,您可以避免担心事件冒泡,并且从语义上更准确地描述单击目标:
<ul id="nav">
<li>
<a href="#">Anchor</a>
<ul>
<li>sub anchors</li>
</ul>
</li>
</ul>
更好的结构是在根
li
中使用锚定
,这样当您单击锚定时,子ul
就会打开。通过这种方式,您可以避免担心事件冒泡,并且从语义上更准确地描述单击目标:
<ul id="nav">
<li>
<a href="#">Anchor</a>
<ul>
<li>sub anchors</li>
</ul>
</li>
</ul>
更好的结构是在根
li
中使用锚定
,这样当您单击锚定时,子ul
就会打开。通过这种方式,您可以避免担心事件冒泡,并且从语义上更准确地描述单击目标:
<ul id="nav">
<li>
<a href="#">Anchor</a>
<ul>
<li>sub anchors</li>
</ul>
</li>
</ul>
您可以使用:
$(".only").click(function (e) {
if(e.target !== this) return;
$(this).find('ul').animate({
height: "toggle"
});
$(this).find('img').toggleClass('click');
});
您可以使用:
$(".only").click(function (e) {
if(e.target !== this) return;
$(this).find('ul').animate({
height: "toggle"
});
$(this).find('img').toggleClass('click');
});
您可以使用:
$(".only").click(function (e) {
if(e.target !== this) return;
$(this).find('ul').animate({
height: "toggle"
});
$(this).find('img').toggleClass('click');
});
您可以使用:
$(".only").click(function (e) {
if(e.target !== this) return;
$(this).find('ul').animate({
height: "toggle"
});
$(this).find('img').toggleClass('click');
});
检查目标是否为绑定元素是IMO的方法,+1!检查目标是否为绑定元素是IMO的方法,+1!检查目标是否为绑定元素是IMO的方法,+1!检查目标是否为绑定元素是IMO的方法,+1!