百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> jquery not不起作用如何办
分享文章到:

jquery not不起作用如何办

发布时间:01/01 来源:未知 浏览: 关键词:

jquery not不起作用的解决方法:第一翻开不起作用的代码文件;然后修改jquery代码为“$(document).not(‘#date’).click(function(){...}”即可。

本教程操纵环境:Dell G3电脑、Windows7系统、HTML5&&CSS3&&jquery2.0.0版本。

引荐:《css视频教程》《javascript根基教程》

jquery中not办法失效的解决方案

挑选元素时,想从$(document)中直接去除某一元素,使用$(document).not('#a')是无效的。

但要解决这类问题可以使用其它的办法,举个例子

在模拟下拉列表时,想要实现的结果是点击div,潜藏的列表显现,点击任意的地方下拉列表消逝

<div id="date">选中日期</div>
<div id="content" style="display:none;">
<ul>
  <li>2月1日</li>
</ul>
</div>

这个时候直接写

$("#date").click(function(){
  $("#content").slideDown();
});
$(document).click(function(){
  $("#content").slideUp();
});

会显现点击div时下拉列表先显现后消逝的状况

解决这种问题大部分人最先想到的是

在设定document的点击事件是去除元素#date,即

$(document).not(‘#date’).click(function(){
  $("#content").slideUp();
});

但not()在这里并不生效

这时就需要换一种思绪

在点击date的一瞬时content的高度变为1px,display变为block

所以

$(document).not(‘#date’).click(function(){
  if($("#content").css('display') == 'block' && $("#content").css('height') != '1px'){
    $("#content").slideUp();
  }
});

就可以到达去除元素#date的结果

另不想使用slideDown()的话

就必需通过增添一个变量记载下拉列表的开闭状态来到达雷同的结果

总之其他的状况也可以通过相似的方式来解决题设的问题

以上就是jquery not不起作用如何办的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板