JavascriptDOM编程基础知识

一、获取元素

// document 文档对象调用
document.getElementById()  // 通过元素的ID获取元素
documnet.getElementByTagName() // 返回指定名字元素组成的对象数组
document.getElementByClassName() // 返回匹配的元素的列表,注意匹配的类的名字不是重要的,顺序是不关心的

使用技巧,可以使用一个变量代替冗长的语句:

var item = document.getElementByTagName('li')
for(var i = 0; i < item.length(); i++) {
    
    alert(typeof item[i])}

二、获取和设置属性

// 元素节点对象调用
object.getAttribute(attribute) // 只有一个参数,就是要获取的属性名
object.SetAttribute(attribute, value) // 参数名字,要设置的值

注意,设置属性后,如果通过浏览器的view source页面去查看源代码,会发向源代码的元素的属性值并没有发生改变,这表明设置属性做出的修改不会反映在文档本身的代码中,而这恰好反映了DOM的工作模式:先静态加载,然后动态刷新。动态刷新不影响原来的静态页面的内容。


三、一些节点常用的属性

element.childNodes // 获取任何一个元素的所有子元素,返回一个子元素组成的数组
node.nodeType // 获取节点的属性,元素节点的属性值为1,属性节点的属性值为2,文本节点的属性值为3
node.nodeValue // 获得元素对象的值
// 注意使用nodeValue获取值的时候,一定要对应正确的节点元素。
node.firstChild / node.lastChild 
// 获得一个元素的第一个孩子和最后一个孩子,相当于 childNodes[0] 和 childNodes[childNodes.length-1]

注意事项:

  • 使用childNodes属性获取得到的额节点数远远比你看到的多,是因为返回的不只是元素节点,还有属性节点和文本节点。
  • 使用nodeValue属性获得值的时候要保证对应的节点是正确的,比如我要获取 < p > <p> <p>元素的文本内容:
p.nodeValue // 错误,返回的是null
p.firstChild.nodeValue // 正确,文本节点是<p>元素节点的第一子节点

猜你喜欢

转载自blog.csdn.net/m0_51156601/article/details/124003986