jquery not不起作用如何办
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不起作用如何办的具体内容,更多请关注百分百源码网其它相关文章!