Javascript jquery has()不';I don’我好像没有按预期工作
我有一个,由于某种原因,我的下拉菜单在单击时不起作用 在小提琴中,当你点击“格式”时,它应该下拉,但它没有这样做。什么都没有发生,我认为使用Javascript jquery has()不';I don’我好像没有按预期工作,javascript,jquery,Javascript,Jquery,我有一个,由于某种原因,我的下拉菜单在单击时不起作用 在小提琴中,当你点击“格式”时,它应该下拉,但它没有这样做。什么都没有发生,我认为使用has()jquery方法会起作用,但它没有起作用。我用错了吗 $("ul > li").on("click", function(){ $(this).has("ul").css({display: "block"}); }); 我认为问题与事件处理程序的定义有关。如果您以回调中的按钮为目标,您可以从那里访问下拉列表: $("ul >
has()
jquery方法会起作用,但它没有起作用。我用错了吗
$("ul > li").on("click", function(){
$(this).has("ul").css({display: "block"});
});
我认为问题与事件处理程序的定义有关。如果您以回调中的按钮为目标,您可以从那里访问下拉列表:
$("ul > li").on("click", function(e){
$(e.target).next("ul").css({display: "block"});
});
如果再次单击按钮时希望下拉列表向上滑动,可以执行以下操作:
$("ul > li").on("click", function(e){
$(e.target).next("ul").slideToggle();
});
我认为问题与事件处理程序的定义有关。如果您以回调中的按钮为目标,您可以从那里访问下拉列表:
$("ul > li").on("click", function(e){
$(e.target).next("ul").css({display: "block"});
});
如果再次单击按钮时希望下拉列表向上滑动,可以执行以下操作:
$("ul > li").on("click", function(e){
$(e.target).next("ul").slideToggle();
});
.has
不是您在本例中要查找的函数。这就是have的用途:
假设您有这样一个HTML结构:
<div>
<em>hey</em>
</div>
<div>
<ul>
<li>hello</li>
</ul>
</div>
<div>
<strong>hey</strong>
</div>
现在您将得到一个结果集,其中包含1个元素:
- 第二组(带ul)
.has
不会像您预期的那样向下移动到ul。您应该只使用.find
,如下所示:
$("ul > li").on("click", function(){
$(this).find('ul').css({display: "block"});
});
.has
不是您在本例中要查找的函数。这就是have的用途:
假设您有这样一个HTML结构:
<div>
<em>hey</em>
</div>
<div>
<ul>
<li>hello</li>
</ul>
</div>
<div>
<strong>hey</strong>
</div>
现在您将得到一个结果集,其中包含1个元素:
- 第二组(带ul)
.has
不会像您预期的那样向下移动到ul。您应该只使用.find
,如下所示:
$("ul > li").on("click", function(){
$(this).find('ul').css({display: "block"});
});
工作演示或 API:
:。查找
::.children
:)
代码
$("ul > li").on("click", function(){
$(this).find("ul").css({display: "block"});
});
或
工作演示或 API:
:。查找
::.children
:)
代码
$("ul > li").on("click", function(){
$(this).find("ul").css({display: "block"});
});
或
改用
find()
。过滤匹配集,它不会遍历到子代使用find()
。过滤匹配集,它不会遍历到有意义的子代!谢谢你的解释!好吧,这是有道理的!谢谢你的解释!谢谢我喜欢切换的想法,所以我使用它!谢谢我喜欢切换的想法,所以我使用它!