jQuery,查找下一个id为的元素
我有以下HTML:jQuery,查找下一个id为的元素,jquery,css,find,Jquery,Css,Find,我有以下HTML: <input id="A1" type="radio" name="A"> <label for="A1">A1 <div class="menu" id="menu1"> <img class="button" id="edit1" src="Aa.png"> <img class="button" id="remove1" src="Ab.png"> </div> </la
<input id="A1" type="radio" name="A">
<label for="A1">A1
<div class="menu" id="menu1">
<img class="button" id="edit1" src="Aa.png">
<img class="button" id="remove1" src="Ab.png">
</div>
</label>
<input id="A2" type="radio" name="A">
<label for="A2">A2
<div class="menu" id="menu2">
<img class="button" id="edit2" src="Aa.png">
<img class="button" id="remove2" src="Ab.png">
</div>
</label>
我试着用“children”、“next”、“nextAll”来选择菜单,但运气不好。菜单
元素不是标签之后的下一个元素(同级元素),它是子元素。因此,您想要的是子项
(或者查找
,如果可能更深),而不是下一步
:
$("label").hover(
function() {
$(this).children(".menu").css( "display", "inline-block" );
}
);
这里您使用了this
作为字符串,但它是一个引用,菜单是label
所以试着这样做
$(this).children(".menu").css( "display", "inline-block" );
正如@Mohammad所说,应该是这个,而不是“这个”。
另外,正如@Era所说,我应该使用children。将$(“this”)
更改为$(this)
。为什么菜单div在标签内?您可以使用CSS而不是使用事件处理程序来实现这一点:标签:悬停。菜单{display:inline block;}
您忘记删除引号了。
$(this).children(".menu").css( "display", "inline-block" );