精解Dom 选择器

DOM定义

Dom : 全称 Doncument Object Model

DOM定义了表示和修改文档所需方案。

DOM 对象即为宿主对象。由浏览器的厂商定义,用来操作 html 和 xml 功能的一类对象的集合。也有人称DOM是对html和xml的标准编程接口。DOM不能操作css,但是DOM可以通过html 间接操作css(行间样式),但不能操作css样式表表。

例如:

    var div = document.getElementsByTagName('div')[0];
    div.style.width = '100px';
    div.style.height = '100px';
    div.style.backgroundColor = 'red';

DOM选择器

  document 代表整个文档 (document是个对象)  大于html

DOM选择器主要是查html结构的。

DOM选择器分为:Id选择器、标签名选择器、name选择器、类选择器、css选择器

Id选择器

 document.getElementsById()    

元素id在ie8以下的浏览器,不区分id的大小写,而且也返回匹配name属性的元素

<!DOCTYPE html>  
<html>  
<head>  
    <title>Dom</title>  
</head>  
<body>  
    <div id = "only">  
</body>  
<script type="text/javascript">  
var div = document.getElementById('only');  
console.log(div);  
</script>  
</html>  
标签名选择器

 .getElementsByTagName()   

用标签名选择器查找的是html文档里的标签,所得到的是类数组形式。(一切由系统生成组的基本上全是类数组)。 

<!DOCTYPE html>  
<html>  
<head>  
    <title>Dom</title>  
</head>  
<body>  
    <div id = "only">  
    <div></div>  
    <div></div>  
</body>  
<script type="text/javascript">  
var div = document.getElementsByTagName('div');  
console.log(div);  
</script>  
</html>  
name选择器

 getElementsByName();              需注意,只有部分标签name可生效(表单,表单元素,img, iframe),生成的也是一组数。

<!DOCTYPE html>      
<html>  
<head>  
    <title>Dom</title>  
</head>  
<body>  
<input type="" name="myName">  
</body>  
<script type="text/javascript">  
var input = document.getElementsByName('myName');  
console.log(input);  
</script>  
</html>
类选择器

 .getElementsByClassName()     通过class属性来获取 ——> ie8和ie8以下的ie版本中没有,可以多个class一起

<!DOCTYPE html>  
<html>  
<head>  
    <title>Dom</title>  
</head>  
<body>  
<div class = "demo"></div>  
</body>  
<script type="text/javascript">  
var div = document.getElementsByClassName('demo');  
console.log(div);  
</script>  
</html>  

css选择器

  .querySelector()  /  .querySelectorAll()  

通过标签的层级来选择,特别方便,但是缺点很大:唯一的缺点就是不是实时性,是静态的。就是如果你选出来一个元素,如果你下次删除这个元素,在这个选择器上还是有。IE7及IE7以下都没有。                

<!DOCTYPE html>  
<html>  
<head>  
    <title>Dom</title>  
</head>  
<body>  
<div>  
    <span>  
        <strong></strong>  
    </span>  
</div>  
</body>  
<script type="text/javascript">  
var strong = document.querySelector('div > span > strong');  
console.log(strong);  
var strong1 = document.querySelectorAll('div > span > strong'); // 选出一组。  
console.log(strong1);  
</script>  
</html>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值