2012年8月22日星期三

querySelector查询一个element里面有多个class的情况

通过class来查找元素,我们可以用getElementsByClassName、querySelector或querySelectorAll,不过当一个element包含多个classname的时侯,用getElementsByClassName就很方便,如:

<div class="c1 c2 c3" />

document.getElementsByClassName("c1 c2 c3")


即多个classname用空格隔开就可以。但是querySelector加空格是向下查找,比如

document.querySelectorAll(".c1 .c2 .c3") 是找c1的子元素c2包含的子元素c3。

如果用逗号“,”呢,即

document.querySelectorAll(".c1, .c2, .c3"),这个其实是一种“或”的关系,即“OR”,就是找到包含c1或者c2或者c3的元素。那么怎样才是“AND”的关系呢,其实也很简单:

 document.querySelectorAll(".c1.c2.c3")

没有空格没有逗号就可以啦!

没有评论: