当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JavaScript下DOM的基础学习之动态创建标签

JavaScript下DOM的基础学习之动态创建标签

2018年09月30日  | 移动技术网IT编程  | 我要评论
javascript不仅可以用来改变网页的结构和内容,还可以通过创建新元素和修改现有元素来改变网页结构。 在学习利用dom方法在web中添加标记时,常常能想到document.write()和ele

javascript不仅可以用来改变网页的结构和内容,还可以通过创建新元素和修改现有元素来改变网页结构。

在学习利用dom方法在web中添加标记时,常常能想到document.write()和element.innerhtml方法,但是,不推荐使用这两种方法。

这两种方法都右一种共同的弊端:结构、样式、行为没有分离。

例如:

<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>document</title>
</head>
<body>
    <script type="text/javascript">
    document.write("<p>hello world</p>")
    </script>
</body>
</html>

即使把document.write()语句挪到外部函数中,也还是要在<body>中放入<script>标签才能调用这个函数。

像上面这种把javascript和html代码融合到一起的是一种很不好的做法,这样的代码即不容易和编辑,也无法把样式,结构分离。

结构(html)、样式(css)、行为(js)永远是最佳的原则,只要存在可能,就要最大限度的使用css外部文件,用javascript外部文件去控制网页的行为。

.innerhtml属性是html专有的属性,不能用于其他标记语言。.innerhtml是“大锤”,使用于一大段html内容插入到文档中。

dom方法创建标签

dom方法的实质就是在修改dom节点树,在浏览器看来dom节点树才是文档。

实质就是不是在创建标记,而是在修改节点树,从dom角度出发才是问题的关键。在dom看来,想要在节点树上添加内容就是要添加节点,如果你向添加一些标记到文档中,就要插入元素节点。

一.createelement方法

语法:document.createelement(nodename);

我们来创建一个一个p元素:document.createelement("p").

二.appendchild方法

语法: parent.appendchild(child);

我们只是创建了一个新元素,但是并没有加到节点树中。把新建的节点插入到节点树中的最简单的方法就是:让这个新节点成为某个现有节点的一个子节点。

例如: 在<body>中添加 <p>

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>document</title>
</head>
<body>
    <p id = "box"></p>
    <script type="text/javascript">
    var pele = document.createelement("p");
    pele.innerhtml = "hello world";
    var box = document.getelementbyid("box");
    box.appendchild(pele);
    </script>
</body>
</html>

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网