jquery 判断含有class判断是否含有某个class

请问:用jquery判断select选择的option是否含有某个类属性?, 请问:用jquery判断select选择
请问:用jquery判断select选择的option是否含有某个类属性?
Tjoeday 请问:用jquery判断select选择的option是否含有某个类属性?
));option value=&/option&&#47.find(&+);seleid&2&&&&&Custom&quot!=undefined){alert(&option&gt$(function() {$(&option value=&#seleid&e=&quot.attr(&)if();}
})})&/select id=&2&customattr&quot.change(function() {var sattr=$(this); customattr=&quot:selected&select&1&1&quot.attr(&&customattr&
&gt
热心网友
&quotvar str = $(&);option&),而class则直接用addClass和removeClass来搞;)再拆成字符数组来循环验证;返回的是一个字符串.attr(&quot,可以用split(&class&quot。不过还是建议attr来验证id或者其他自定义element属性
protected&quotif ($(this);)) {.hasClass(&quot.一个按钮(class="myqiehuan"),一个初始隐藏的div(class="qiehuan")
需求:
1.当鼠标放到(不是点击事件)按钮上时,显示div,当鼠标离开按钮时,隐藏div
2.当div被1中的事件触发而显示时,当鼠标在这个div内部时,继续显示这个div,当鼠标离开这个div时,隐藏div
JQuery:
$(".qiehuan").hover(function(){//对div的处理
$(this).show();
},function(){
$(this).hide();
});
$(".myqiehuan").hover(function(){//对按钮的处理
$(this).parent().children(".qiehuan").show();
},function(){
$(this).parent().children(".qiehuan").hide();
遇到的问题:
这个按钮和div之间可能有一条缝,使得将鼠标从按钮移到显示的div时,上面的代码交替执行,使得div的显示会闪一下,好像是:出了按钮它立即隐藏而进入div时又立即显示,所以会使得这个div跳动一下,如何才能解决这个问题?
当然,如果有别的思路也可以,不一定非要判断出鼠标当前位置是否在这个div内部?
比较急,谢谢!
问题补充:pwc_pengwenchao 写道这个我也做过这个功能。
$(".qiehuan").hover(function(){//对div的处理
${this}.addClass("hover"); // 当鼠标进入这个DIV的时候,给加一个class样式。
$(this).show();
},function(){
${this}.removeClass("hover");// 当鼠标离开这个DIV的时候,给删除一个class样式
$(this).hide();
});
$(".myqiehuan").hover(function(){//对按钮的处理
$(this).parent().children(".qiehuan").show();
},function(){
setTimeout(function(){
var divThis = $(this).parent().children(".qiehuan");
if (!divThis.hasClass('hover'))
{
divThis.hide();
}
}, 100); // 延迟,这个看你多久合适。
});
非常感谢您的思路。
我按照您的思路改了一下,结果是:鼠标从按钮滑到这个div的时候页面不再跳动了,但从div回到按钮的时候页面还是会跳动,然后我用您的思路又改了一下,具体代码如下:
$(".qiehuan").hover(function(){//div
$(this).removeClass("hover0");
$(this).show();
},function(){
$(this).addClass("hover0");
var anniu = $(this).parent().children(".myqiehuan");
var tthis = $(this);
setTimeout(function(){
if(anniu.hasClass("hover1")){//说明没有从div回到按钮
tthis.hide();
$(".myqiehuan").hover(function(){//按钮
$(this).removeClass("hover1");
$(this).parent().children(".qiehuan").show();
},function(){
var divThis = $(this).parent().children(".qiehuan");
setTimeout(function() {
if (divThis.hasClass("hover0")) {//说明没有从按钮进入div
divThis.hide();
&&&& }, 100);
$(this).addClass("hover1");
});
前提是:默认为div添加一个hover0的class,为按钮添加一个hover1的class。
理论上这样写应该能够解决上述问题,但运行时又发现一个新的问题:
这个div显示的时候被其他div遮挡了,可能是因为产品部的人设计的如下JS造成的:
$(".mycps").mouseover(function(){
$(this).css("z-index","9999");
$(".mycps").mouseout(function(){
$(this).css("z-index","99");
});
mycps就是这个div和这个按钮所在的外层div。
页面上有很多这样的div,是从一个list中迭代出来的。
问题补充:pwc_pengwenchao 写道在写js的时候,应该尽量少用& z-index这个样式,,因为用了以后,为了显示都想设置最大。
这样会搞得无穷大。
这是一个搞JS的强人这么跟我说的,当时他还说了一种解决方法,我忘记是什么了。
你可以试试position
恩,谢谢!
采纳的答案
这个我也做过这个功能。
$(".qiehuan").hover(function(){//对div的处理
${this}.addClass("hover"); // 当鼠标进入这个DIV的时候,给加一个class样式。
$(this).show();
},function(){
${this}.removeClass("hover");// 当鼠标离开这个DIV的时候,给删除一个class样式
$(this).hide();
});
$(".myqiehuan").hover(function(){//对按钮的处理
$(this).parent().children(".qiehuan").show();
},function(){
setTimeout(function(){
var divThis = $(this).parent().children(".qiehuan");
if (!divThis.hasClass('hover'))
{
divThis.hide();
}
}, 100); // 延迟,这个看你多久合适。
});
在写js的时候,应该尽量少用& z-index这个样式,,因为用了以后,为了显示都想设置最大。
这样会搞得无穷大。
这是一个搞JS的强人这么跟我说的,当时他还说了一种解决方法,我忘记是什么了。
你可以试试position
已解决问题
未解决问题}

我要回帖

更多关于 js判断是否含有class 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信