网页的结构由标记负责创建,JavaScript函数只用来改某些细节而不改变其底层结构,js也可用来改变网页的结构和内容:

传统方法:1.document.write 快捷将文档插入到网页中:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>text</title>
 6 </head>
 7 <body>
 8     <script>
 9         document.write("<p> This is inserted.</p>");
10     </script>
11 </body>
12 </html>

但是违背了“行为应该与表现分离”的原则,不建议使用;

2.innerHTML属性:可以用来读写某给定元素的HTML内容,标准化的DOM像手术刀一样精细,二innerHTML属性则像一把大锤一样粗放:

 1 <!DOCTYPE html>//test.html
 2 <html lang="en">
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>text</title>
 6 </head>
 7 <body>
 8     <script>
 9         document.write("<p> This is inserted.</p>");
10     </script>
11     <div id="testdiv">
12     <p id="yourbody">This is <em>my</em> content.</p>
13     </div>
14     <script type="text/javascript" src="example.js"></script>
15 </body>
16 </html>

1 window.onload = function(){//examlple.js
2     //if (document.getElementById("testdiv")) alert("get testdiv");
3     var testdiv = document.getElementById("testdiv");
4     alert(testdiv.innerHTML);
5
6     //if (document.getElementById("yourbody")) alert("get yourbody");
7     var testid = document.getElementById("yourbody");
8     alert(testid.innerHTML);
9 }

innerHTML不仅可以用来读取元素的HTML内容,还可以用它把HTML内容写入元素,如下所示:

1 window.onload = function() {
2     var testdiv = document.getElementById("testdiv");
3     testdiv.innerHTML = "<p>You know what? <em>I can change your life!<em></p>";
4 }
5 //在js里添加function修改id=testdiv的元素的HTML内容

3.DOM方法:在浏览器看来,DOM节点树才是文档,在DOM看来,一个文档就是一个节点树。

将一段文本插入到testdiv元素中:1、创建一个新的元素,2、把新元素插入节点树

1 window.onload = function() {
2     var para = document.createElement("p");//创建元素节点
3     var testdir = document.getElementById("testdiv");
4     testdir.appendChild(para);
5     var txt = document.createTextNode("You know that! <em>I can change your life!</em>");//创建文本节点
6     para.appendChild(txt);
7 }

转载于:https://www.cnblogs.com/2014-cjs/p/3648473.html

JavaScript 动态创建标记相关推荐

  1. 动态创建标记+css_dom+js动态效果

    [7]动态创建标记 [7.1]一些传统方法 [7.1.1]document.write方法,不推荐使用 (1) <!DOCTYPE html> <html lang="en ...

  2. javascript动态创建可拖动、最大化、最小化的层

    javascript动态创建可拖动.最大化.最小化的层 2010-02-06 13:19 用Javascript实现div层的拖动是很常见的一种操作,比如弹出提示对话框,快捷登录等等.之前用隐藏层的方 ...

  3. QT通过JavaScript动态创建QML对象

    QT通过JavaScript动态创建QML对象 通过JavaScript动态创建QML对象 动态创建对象 动态创建组件 从QML字符串创建对象 维护动态创建的对象 动态删除对象 通过JavaScrip ...

  4. Javascript动态创建SVG圆弧

    Javascript动态创建SVG圆弧 0. 起源 需要做一个展示统计数据(百分比)的小部件,默认情况下该小部件是隐藏的.页面右边放置一个圆形的按钮,当点击按钮时小部件从右边滑出显示. 本着尽可能多的 ...

  5. html表单通过js提交表单提交,JavaScript动态创建form表单并提交的实现方法

    本文实例讲述了JavaScript动态创建form表单并提交的实现方法.分享给大家供大家参考,具体如下: 页面布局有些复杂的情况下,可能需要在页面中动态创建一个 form,JavaScript 创建 ...

  6. javascript动态创建表格:新增、删除行和列

    利用js来动态创建表格有两种格式,appendChild()和insertRow.insertCell().两种方式其实差不多,但第一种有可能在IE上有问题,所以推荐大家使用第二种了,直接说吧. 1. ...

  7. javascript 动态创建表格:新增、删除行和单元格

    2019独角兽企业重金招聘Python工程师标准>>> 利用js来动态创建表格有两种格式,appendChild()和insertRow.insertCell().两种方式其实差不多 ...

  8. 利用javascript动态创建表格

    //说明:实现功能.原理上文相同.不过这次是利用已有的简单的方法创建行和列,并实现内容行鼠标移入变色功能! 效果图: /*两个方法 1.  trNode  table.insertRow(-1)    ...

  9. javascript动态创建radio button元素支持IE/Firefox

    我们都知道在IE中创建表单元素可以有三种方式 var oInput = document.createElement("input"); var oInput = document ...

最新文章

  1. 重磅!如何高效学习单目深度估计
  2. nvidia 程序安装失败
  3. Android操作HTTP实现与服务器通信
  4. 推荐一个快速定位深度学习代码bug的炼丹神器!
  5. Qt奇淫技巧-使用QSharedMemory方式实现数据跨界面传输
  6. 绘图解谜:公钥、私钥、证书
  7. MySql安全模式下修改root账号密码
  8. 图像语义分析--深度学习方法
  9. Linux下安装Solr7.2.1以及配置Solr(CentOS7)
  10. 众达两化融合贯标日记06~贯标启动会PPT
  11. java计算机毕业设计易医就医购药交互平台源码+系统+mysql数据库+lw文档
  12. 【ADNI】数据预处理(6)ADNI_slice_dataloader ||| show image
  13. java识别答题卡纸_opencv 识别答题卡
  14. 反黄软件测试工程师,谁才是反黄卫士?五款反黄软件横向评测
  15. 调整HTML5画布中图像的大小
  16. Python:次方计算
  17. 关于微信小程序picker之multiSelector多列选择器
  18. 静电悬浮系统中功率放大器的应用
  19. JavaApp自动化测试系列[v1.0.0][Appium开发环境搭建]
  20. yuan先生博客园地址

热门文章

  1. mysql 概念和逻辑架构
  2. django之创建第6-1个项目-自定义过滤器
  3. 关于json_decode乱码及NULL的解决方法
  4. HttpHelps类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理...
  5. Jean Hsu:当女软件工程师的那些好处
  6. no signatures that match those in shared user android.uid.system; ignoring!
  7. android资源的热更新(替换 AssetManager+LoadedApk中的资源路径)
  8. Luogu P3830 [SHOI2012]随机树 | 期望 DP
  9. 「PKUWC2018」随机游走
  10. [转]linux下TCP连接占用的资源