var a=document.querySelector("em"); //获取第一个em
var b=document.getElementById("s").querySelector(".ff");
var b=document.getElementById("s").querySelector("p em");
matchesSelector()方法,如果被调用元素与该选择符匹配,返回true,否则返回false.
在取得某个元素引用的情况下,使用这个方法能够方便的检测他是否会被querySelector()或querySelectorAll()方法返回。
function a(element,selector){
if(element.matchesSelector){
return element.matchesSelector(selector);
}else if(element.msMatchesSelector){
return element.msMatchesSelector(selector);
}else if(element.mozMatchesSelector){
return element,mozMatchesSelector(selector);
}else if(element.webkitMatchesSelector){
return element,webkitMatchesSelector(selector);
}else{
throw new Error(“not supported”);
}
}
if(a(document.body,"body.page1")){
//执行操作
}
元素遍历
chlidElementCount 元素个数
firstElementChild:
lastElementChild
previousElementSibling 前一个同辈元素
nextElementSibling 后一个同辈元素
跨浏览器遍历某元素的所有子元素。
var i, len,
child=element.firstChildElementChild;
while(child!=element.lastElementChild){
processChild(child);
child=child.nextElementbling;
}
}
删除一个类名,需要把三个类名拆开,删除不想要的,再拼成新字符串
有了classLists属性,除非你需要删除全部所有类名或完全重写元素的class属性,否则也就用不到className属性classList支持的浏览器firefox3.6+和chrome
div.classList.remove("user"); //删除类名user,前面那么多行代码,用这一行代码就搞定了
div.classList.add("user"); //添加类名
div.classList.toggle("user"); //有就删除,没有就添加
contains("user"); //存在user就 返回true,否则返回false
if(div.classList.contains("qq"&&div.classList.contains("user")){
//执行操作
}
insertAdjacentHTML()方法
contains()方法检测某个节点是不是另一个节点的后代。
alert(document.documentElement.contains(document.body)); //true
document.body.scrollByLines(5); //将页面主体滚动5行
document.images[0].scrollIntoViewIfNeeded(); //在当前元素不可见的情况下,让她进入浏览器的视口
document.body.scrollByPages(-1); //将页面主体往回滚动1页
scrollIntoView方法,是唯一一个所有浏览器都支持的方法,所以最常用。