jQuery在类更改时执行代码
jQuery do code if class is changed
我试图检查其他具有类的li中的li是否可见,在这种情况下什么都不做,但如果不添加样式宽度:0px。
if (jQuery("li:has(li.is-visible)")){
//nothing at this moment
}
else {
jQuery('ul.cd-gallery li').css({'width' : '0px'});
}
代码的html部分
<ul class="cd-item-wrapper">
<li data-type="sve" class="is-visible">
<img class="img-reponsive" src="someimg.jpg" alt="Jabuka" height="150" />
</li>
<li data-type="proizvodi" class="is-hidden">
<img class="img-reponsive" src="someimg.jpg" alt="Jabuka" height="150" />
</li>
<li data-type="vocnaci" class="is-hidden">
<img class="img-reponsive" src="someimg.jpg" alt="Jabuka" height="150" />
</li>
</ul>
</li>
但我使用jQuery将类从"隐藏"更改为"可见",反之亦然。所以我的代码没有看到任何更改,并且我有group-all来显示所有图像。如果它有帮助,这里是链接到该页面我的网站
我的Jquery代码很好,至少我认为是这样,但问题是(如果你在现场检查元素)你看到了一堆
您可以通过使用hasClass()
(,推荐它是最快的)来检测元素是否有类:
if ( $("li > ul > li").hasClass('is-visible')) {
//nothing at this moment
} else {
$('ul.cd-gallery li').css({
'width', '0px'
});
}
或is()
:
if ( $("li > ul > li").is('.is-visible')) {
//nothing at this moment
} else {
$('ul.cd-gallery li').css({
'width', '0px'
});
}
在jquery中使用.hasClass()
。如果类被分配给元素,即使其他类也是,.hasClass()
方法也将返回true
if(jQuery("li").hasClass('is-visible')){
}
检查
if (jQuery("li:has(li.is-visible)")){
总是为true,因为它返回一个jQuery对象。物体是真实的。它不像getElementById那样返回一个假值。你需要检查一下长度。
if (jQuery("li:has(li.is-visible)").length){
零是假的,任何数字都是真的。
另一种选择是使用返回布尔值的is()
或hasClass()
。
相关文章:
- 有没有一种方法可以通过只引用JavaScript来执行代码
- jQuery在类更改时执行代码
- 如果此代码运行,请执行代码
- Javascript等待ajax成功后再执行代码
- 如何在onclick事件执行代码时在ImageButton上设置加载gif
- php,如果我点击按钮程序重新加载页面,并且从不继续执行代码
- Javascript渲染.如何编写Javascript;t在函数调用结束之前继续执行代码
- 无法让 jQuery 以正确的顺序执行代码
- ReactJS:在带有 ajax 调用的 .map() 语句完成后执行代码
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 自执行代码中的“this”
- 为什么Javascript不按顺序执行代码
- 如何在javascript中连续执行代码
- 加载所有图像后执行代码
- 按下多个按钮时执行代码
- 如何在检索到数据后使用drawCallback执行代码
- 等待promise解析后再执行代码
- jQuery没有为具有新id的新元素执行代码
- 如何在客户端Collection增长时立即反应性地执行代码
- 如何将变量表达式转换为可执行代码(而不是替换值)