我有一系列条件,如果其中任何一个是真实的(存在于DOM中(,那么我想在身体上添加阶级。我想知道比我拥有的更简单或更简洁的方法...
if ($('.blog-entry').length > 0) {
$("body").addClass('stock-plugin');
}
if ($('.contact-form').length > 0) {
$("body").addClass('stock-plugin');
}
if ($('.fileshare').length > 0) {
$("body").addClass('stock-plugin');
}
从技术上讲,它可以这样做,但是,我认为我可以做类似的事情来实现同一件事,除了它仅在第一个条件下工作:
if($('.blog-entry' || '.contact-form' || '.fileshare').length >0 ){
$("body").addClass('stock-plugin');
}
我在做什么错,还是我想努力?
显然,这个最后一个选择器将不起作用。这基本上是选择第一个真实值,在这种情况下,'.blog-entry'
。
但是您可以将jQuery选择器用于多个类,例如:
if($('.blog-entry, .contact-form, .fileshare').length > 0 ){
$("body").addClass('stock-plugin');
}
您也可以使用.add()
,它将在上一个选择器中添加一组新元素,例如:
if($('.blog-entry').add('.contact-form').add('.fileshare').length > 0 ){
$("body").addClass('stock-plugin');
}
jQuery允许您通过用逗号分隔来定义多个选择器以查找:
if($('.blog-entry, .contact-form, .fileshare').length > 0 ){
$("body").addClass('stock-plugin');
}