假设你有一个带有ID和两个类的元素(让我们称它们为A类和B类)。你知道ID,并希望获得共享A类但不是B类的所有其他元素。并非所有这些元素都有两个类名,其中一些只有A类。使用Javascript,我该如何确定使用原始元素的ID调用它时,我得到了正确的类名,这样我就得到了A类元素,而不是B类?
答案 0 :(得分:1)
var element = document.getElementById( 'test' );
/* to get all classes of the element */
var classList = element.className.split(' ');
/*
* Say class A is in classList[0] and class B in classList[1],
* select all elements which have class classList[0] but not class classList[1] */
var classToShow = document.querySelectorAll('.'+classList[0]+':not(.'+classList[1]+')' );
/* loop through the selected list to log each element in console */
for( var i = 0; i < classToShow.length; i++ ) {
console.log(classToShow[i]);
}
希望这会有所帮助。 :)
或者更简单:
document.querySelectorAll('.A:not(.B)');