DOM页面是什么 dom是什么意思啊( 三 )


还有一点,如果要动态写入脚本 例如 <script>xxx</script>这样的 ,那么要注意把分开来拼装下,否则会被误以为是脚本结束的标志,导致这个结束符匹配到上面一个开始符 。可以这样写”<scr” +="" “ipt="">”;</scr”>
四、Element类型
接下来讲讲最重要也是最常见的一个类型,Element类型 。
我们日常所操作的都是Element类型(实质是HTMLElement,这里为了方便理解,就简单这么说),比如
document.getElementById("test") 返回的就是Element类型 。我们日常所说的“DOM对象”,通常也就是指Element类型的对象 。
然后说说这个类型的常见属性:
首先最开始说的Node类型上的那些属性方法它都有,这个就不再重复了,主要说说它自己独有的 。
首先是tagName,这个和继承自Node类型的nodeName一样 。都是返回标签名,通常是大写,结果取决于浏览器 。所以在做比较
的时候最好是调用下类似toLowerCase()这种方法再做比较 。
说说上面提到过的HTMLElement类型
HTMLElement类型继承自Element类型,也是HTML元素的实际类型,我们在浏览器里用的元素都是这个类型 。
这个类型都具有一些标准属性,比如:
id 元素的唯一标识
title 通常是鼠标移上去时候会显示的信息
className 类名
等等,这几个属性是可读写的,也就是说你改变他们会得到相应的效果 。
除了属性外,还有几个重要的方法
首先说说操作节点属性的方法
getAttribute 、setAttribute 、removeAttribute这3个方法 。
这些是操作属性最常用的方法了,怎么用就不说了,很简单,顾名思义 。
还有一个attributes属性,保存了元素的全部属性 。
这里停下来,出个问题,ele.className 和 ele.getAttribute(“class”)返回的结果是不是同一个东西?
解答这个问题,我要说一个重要知识点,一个元素的属性结构是这么来的,比如一个inpnt元素
<input checked="checked"> 那么这个元素的属性被包含在 input.attributes里面,比如你在html元素上看到的class、id或者你自己定义的data-test这种属性 。
然后 getAttribute 、setAttribute 、removeAttribute这3个方法可以认为是快捷的取attributes集合的方法 。而**直接input.id或者input.className都是直接挂在input下的属性,和attributes是同级的 。**所以返回的东西也许看过去一样,实际是不一样的,不信你可以试试input.checked这input.getAttribute(“checked”)试试 。
总得来说,这3个方法通常用了处理自定义的属性,而不是id、class等这种“公认特性” 。
接下来说说创建元素
document.createElement()可以创建一个元素,比如:
document.createElement("div"); 一般之后可以为元素设置属性,两种方法,一种是直接node.property还可以node.setAttribute(“propertyName”,”value”) 。等
但是做完这些之后,这个元素还是没有在页面中,所以你还得通过最上面讲的类似appendChild这些方法把元素添加到页面里面 。
在IE中,还可以直接穿整个HTML字符串进去,来创建元素,比如
document.createElement("test"); 最后,元素节点也支持HTMLDocument类型的那些查找方法,比如getElementsByTagName 。不过它只会找自己后代的节点 。所以可以这么写代码
document.getElementById("test").getElementsByTagName("div"); // 找到id为test元素下的所有div节点 五、Text类型
这个类型很特殊,也是第三常见类型(第一第二分别就是Document和Element) 。
这个节点简单来说就是一段字符串 。
有个很重要的特征就是,它没有子元素(不过这个仔细想想也知道= =)


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: