我需要使用element.classList.contains('some-class')
检查一个元素是否包含三个类中的至少一个,所以我写道:
if (element.classList.contains('class1', 'class2', 'class3')) {
// do stuff here
}
结果是 - 如果元素具有' class1',则返回true,无论它是否具有' class2'或/和' class3',和
// do stuff here
执行。但是,如果它有' class2'和/或' class3',它返回false和
// do stuff here
不执行。
我用它来解决这个问题:
if (element.classList.contains('class1') || element.classList.contains('class2') || element.classList.contains('class3')) {
// do stuff here
}
答案 0 :(得分:2)
它告诉您作为第一个参数传递的类名是否是元素所属的类之一。
与所有JavaScript函数一样,您可以传递尽可能多的其他参数。 contains
函数对它们没有任何作用。
答案 1 :(得分:1)
此功能只接受一个参数。 contains方法用于检查classList是否包含单个元素。您在底部发布的代码块是一个很好的解决方法。但遗憾的是,您在顶层尝试做的事情超出了classList API的范围。
答案 2 :(得分:0)
尝试 .elementByXPath("//android.widget.TextView[@text='headline9']/../android.widget.Button")
HTML:
document.querySelectorAll
的Javascript
<div class="class1"></div>
<!--<div class="class2"></div> -->
<!-- <div class="class3"></div> -->
<div id="result"></div>
答案 3 :(得分:0)
var c = element.classList;
var any = c.contains( 'class1' ) || c.contains( 'class2' ) || c.contains( 'class3' );
var all = c.contains( 'class1' ) && c.contains( 'class2' ) && c.contains( 'class3' );
答案 4 :(得分:0)
它对我来说是这样的:
let elem = document.querySelector("span");
if (elem.classList.contains('beta')) {
elem.textContent = "The classList contains 'beta'";
} else {
elem.textContent = "The classList does not contain 'beta'";
}
<span class="alpha beta gamma"></span>