JavaScript DOM编程艺术 学习笔记(三)DOM


5个常用的dom方法:getElementById getElementByTagName getElementByClassName getAttribute setAttribute


dom:当创建了一个网页并把它加载到web浏览器中 dom就产生了它把你编写的网页文档转换为一个文档对象。

document object model

把一个文档的各种元素想象成一颗家谱树,就可以用同样的术语描述dom,不过与使用家谱树相比,文档称为节点树更准确


元素节点element node

文本节点:如果一份文档完全由一些空白元素构成,它将由一个结构,但这份文档本身不会包含什么内容。在内容为王的互联网上,绝大多数的内容是由文本提供的。

文本节点被包含在元素节点内部

属性节点:属性节点用来对元素做出更具体的描述。例如几乎所有元素都有个title属性

如:<p title=“a gentle reminder”>Don’t forget to buy this stuff. </p>

其中 title=“a gentle reminder”是个属性节点。

属性总是被放在起始标签里,所以属性节点总是包含在元素节点中,并非所有的元素都包含属性但所有的属性都被元素包含。

id属性 class属性



CSS 层叠样式表

对样式的声明可以嵌入在文档的head部分 style标签之间,也可以放在另外一个样式表文件里。css声明元素样式的语法和javascript函数的定义语法很相似

继承是css技术中一项强大功能。css能把文档内容作为一课节点树,节点树上各个元素将继承其父元素的样式属性。例如当我们为body元素定义了一些颜色或字体,它们将不仅作用于那些直接包含在<body>标签里的内容还将作用于嵌套在body元素内部的所有元素。

所以如果只是想控制某个特定元素而不是所有此元素,就需要借助于id或者class


class css里用.表示

id css里用#表示


<p class”special”>This paragraph has special class </p>

<h2 class = “special”> So does this headline </h2>


.special{

font-style:italic;

}


或者h2 .special{

text-transform:uupercase;

}

这种是为一种特定类型的元素定义一种样式


id本身只能用一次,而class可以各种用。但css还是可以利用id属性为包含在该特定元素里的其他元素定义样式


<ul id=“purchase”>

<li>a</li>

<li>b</li>

<li>c</li>

</ul>


#purchases{

}

#purchases li{

}


DOM提供的5个方法:


获取元素:

  1. 通过id获取某个元素:document.getElementById(“purchase”)得到的是一个object可以用typeof打印出来类型看看。事实上,文档中每个元素都是一个对象。
  2. 通过tagName获取某类元素:document.getElementsByTagName(“li”)这里看下是elements而不是elemet。这种调用将返回一个对象数组。所以可以拿其length,可以查看其列表项元素个数。getElementsByTagName允许把通配符*作为其参数:document.getElementById(“*”)这样得到的就是文档中所有元素:可以先用var shopping = document.getElementById(“purchase”) 得到ul那个对象,var items =shopping.getElementsByTagName(“*”)
  3. 通过class属性中的类名来获取元素。getElementsByClassName也是得到数组。参数可以是多个类名只需要空格表示如:document.getElementsByClassName(“important sale”)就算元素有更多的类 或者顺序和此不同都可以拿得到


  1. 获取属性 

getAttribute:获取属性 

getAttribute方法不属于document对象,只能通过元素节点对象来调用。例如:

var paras = document.getElementsByTagName(“p”);

for(var i =0; i<paras.length;i++){

var title_text = paras[i].getAttribute(“title”);

if(title_text)  alert(title_text);

}

如果有的p元素没有设置title属性,则会得到null


  1. 设置属性

setAttribute:设置属性

var shopping = document.getElementById(“purchase”);

shopping.setAttribute(“title”,”a list of goods”);//如果本身无title属性此句会先创建title属性再设置其值



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值