7.动态创建DOM

8.innerText  innerHTML  value

7+8 练习:案例:点击按钮动态增加网站列表,分两列,第一列为网站的名字,第二列为带网站超链接的网站名。增加三行常见网站。浏览器兼容性问题,见备注。动态产生的元素,查看源代码是看不到的。通过DebugBar→Dom→文档→HTML可以看到。

练习1:练习:动态生成n个文本框 (每3个一行)

练习2:无刷新评论。

7.动态创建DOM


document.write只能在页面加载过程中才能动态创建。
可以调用document的createElement方法来创建具有指定标签的DOM对象,然后通过调用某个元素的appendChild();方法将新创建元素添加到相应的元素下。//父元素对象.removeChild(子元素对象);删除元素。

function showIt() {
var divMain = document.getElementById("divMain");
var btn = document.createElement("input");
btn.type = "button";
btn.value = "我是动态的!";
divMain.appendChild(btn);
}
<div id="divMain"></div>
<input type="button" value="ok" onclick="showit()" />

 

8.innerText  innerHTML  value


value 获取表单元素的值

几乎所有DOM元素都有innerText、innerHTML属性(注意大小写),分别是元素标签内内容的文本表示形式和HTML源代码,这两个属性是可读可写的。//FF不支持innerText,在FF下用textContent属性。也可以用innerHTML设置普通文本。

示例:代码见备注1。(innerText与innerHTML区别。)

隐藏行号 复制代码 ? 这是一段程序代码。
  • <!DOCTYPE html>
  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head>
  •     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  •     <title></title>
  •     <script type="text/javascript">
  •         function f1() {
  •             var div = document.getElementById("d1");
  •             var div2 = document.getElementById("d2");
  •             //innerText会对尖括号进行转义
  •             div.innerText = "<b>欢迎</b>光临<font color='red'>唐三三</font>部落";
  •             div2.innerHTML = "<b>欢迎</b>光临<font color='red'>唐三三</font>部落";
  •         };
  •         function f2() {
  •             var div2 = document.getElementById("d3");
  •             //移除html标签  
  •             alert(div2.innerText);
  •         };
  •         
  •         function f3() {
  •             var div2 = document.getElementById("d3");
  •             //移除html标签  
  •             alert(div2.innerHTML);
  •         };
  •     </script>
  • </head>
  • <body>
  •     <div id="d1">1234567890<input type="text" /></div>
  •     <div id="d2">1234567890<input type="text" /></div>
  •     <input id="btn" type="button" value="点击" onclick="f1()" />
  •     <div id="d3"><b>欢迎</b>光临<font color='red'>唐三三</font>部落</div>
  •     <input id="btn_2" type="button" value="弹窗innerText" onclick="f2()" />
  •     <input id="btn_3" type="button" value="弹窗innerHTML" onclick="f3()" />
  • </body>
  • </html>
  • 用innerHTML也可以替代createElement,属于简单、粗放型、后果自负的创建。

    示例:

    function createlink() {
    var divMain = document.getElementById("divMain");
                divMain.innerHTML = "<a href='http://www.cnblogs.com/tangge/p/3172689.html'>7.动态创建DOM + 8.innerText innerHTML value - 【唐】三三 - 博客园</a>";
            }

     

    7+8 练习:


    案例:点击按钮动态增加网站列表,分两列,第一列为网站的名字,第二列为带网站超链接的网站名。增加三行常见网站。浏览器兼容性问题,见备注。动态产生的元素,查看源代码是看不到的。通过DebugBar→Dom→文档→HTML可以看到。

    隐藏行号 复制代码 ? 这是一段程序代码。
  • <!DOCTYPE html>
  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head>
  •     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  •     <title></title>
  •     <script type="text/javascript">
  •         window.onload = function () {
  •             var json = [
  •                 { "name": "cnblog", "site": "http://www.cnblogs.com" },
  •                 { "name": "cnbeat", "site": "http://www.cnbeat.com" },
  •                 { "name": "qiushibaike", "site": "http://www.qiushibaike.com" }
  •             ];
  •             var div = document.getElementById("d1");
  •             //动态创建table
  •             var table = document.createElement("table");
  •             //把table添加到div
  •             div.appendChild(table);
  •             table.border = 1;
  •             table.width = "350px";
  •             for (var i = 0; i < json.length; i++) {
  •                 var site = json[i];
  •                 //创建tr
  •                 var tr = document.createElement("tr");
  •                 table.appendChild(tr);
  •                 //创建第1列td
  •                 var td = document.createElement("td");
  •                 td.innerHTML = site.name;
  •                 tr.appendChild(td);
  •                 //相当于new一个td(第2列)
  •                 td = document.createElement("td");
  •                 td.innerHTML = site.site;
  •                 tr.appendChild(td);
  •             }
  •         }
  •     </script>
  • </head>
  • <body>
  •     <div id="d1"></div>
  • </body>
  • </html>


  • 练习1:练习:动态生成n个文本框 (每3个一行)

    隐藏行号 复制代码 ? 这是一段程序代码。
  • <!DOCTYPE html>
  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head>
  •     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  •     <title></title>
  •     <script type="text/javascript">
  •         function create() {
  •             var number = document.getElementById("text").value;
  •             var div = document.getElementById("div1");
  •             div.innerHTML = "";
  •             //循环从1开始(方便下面余3取0)
  •             for (var i = 1; i <= parseInt(number) ; i++) {
  •                 //创建第1列td
  •                 //创建input type="text"
  •                 var input = document.createElement("input");
  •                 input.type = "text";
  •                 input.value = "text" + i;
  •                 input.length = "30px";
  •                 div.appendChild(input);
  •                 //每3个空一行
  •                 if (i % 3 == 0) {
  •                     var br = document.createElement("br");
  •                     div.appendChild(br);
  •                 }
  •             }
  •         }
  •     </script>
  • </head>
  • <body>
  •     <div id="div">
  •         人数:<input id="text" type="text" value="1" />
  •         <input type="button" value="生成" onclick="create()" />
  •     </div>
  •     <div id="div1"></div>
  • </body>
  • </html>

  • 练习2:无刷新评论。

    <table>

        <tr><td>猫猫:</td><td>沙发耶!</td></tr>

    </table>

    昵称:<input type="text" /><br />

    <textarea id=“txt”></textarea><br />

    <input type="button" value="评论" />

    隐藏行号 复制代码 ? 这是一段程序代码。
  • <!DOCTYPE html>
  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head>
  •     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  •     <title></title>
  •     <script type="text/javascript">
  •         function note() {
  •             var name = document.getElementById("txtname").value;
  •             var content = document.getElementById("txt").value;
  •             
  •             var row = document.createElement("tr");
  •             var tb = document.getElementById("tb");
  •             tb.appendChild(row);
  •             var td = document.createElement("td");
  •             row.appendChild(td);
  •             td.innerHTML = name;
  •             
  •             td = document.createElement("td");
  •             row.appendChild(td);
  •             td.innerHTML = content;
  •             
  •             
  •         }
  •     </script>
  • </head>
  • <body>
  •     <table id="tb">
  •         <tr>
  •             <td >猫猫:</td>
  •             <td>沙发耶!</td>
  •         </tr>
  •     </table>
  •     昵称:<input id="txtname" type="text" /><br />
  •     <textarea id="txt"></textarea><br />
  •     <input type="button" value="评论" onclick="note()" />
  • </body>
  • </html>
  • DOM – 7.动态创建DOM + 8.innerText innerHTML value的更多相关文章

    1. JavaScript DOM编程基础精华02(window对象的属性,事件中的this,动态创建DOM,innerText和innerHTML)

      window对象的属性1 window.location对象: window.location.href=‘’;//重新导航到新页面,可以取值,也可以赋值. window.location.reloa ...

    2. JS,Jquery,ExtJs不同脚本动态创建DOM对象

      好久不来写东西了,这段时间太慢了,闲了下来看了几篇文章,觉得很好,同时也许咱们大家都能遇到,所以就把它记录下来... 简单使用JavaScript.JQuery.ExtJs进行DOM对象创建的测试,主 ...

    3. jQuery – 7.动态创建Dom、删除节点

      动态创建Dom节点     1.使用$(html字符串)来创建Dom节点     2.append方法用来在元素的末尾追加元素     案例:动态生成网站列表     3.prepend,在元素的开始 ...

    4. 动态创建dom元素

      效果图如上所示: 思维nav:就相当于qq空间发表动态(说说),在输入框里输入内容,点击提交(发表),内容就呈现在下面的动态栏里.我这里是准备写一个招聘的app,大家可以随便想象下哪些情况会遇到动态创 ...

    5. JS、JQuery和ExtJs动态创建DOM对象

      做了个简单使用JavaScript.JQuery.ExtJs进行DOM对象创建的测试,主要是使用JavaScript.JQuery.ExtJs动态创建Table对象.动态Table数据填充.多选控制. ...

    6. Vue.js源码解析-Vue初始化流程之动态创建DOM

      目录 前言 一._update 如何判断是初始化还是更新操作? 二.patch 2.1 patch 定义 2.2 初始化的 patch 三.createElm 动态创建DOM 3.1 创建组件节点 3 ...

    7. DOM操作-动态创建网页元素

      动态创建新的DOM元素,是JavaScript操作网页对象模型的重要手段之一 代码: <!DOCTYPE html> <html> <head> <title ...

    8. js学习-DOM之动态创建元素的三种方式、插入元素、onkeydown与onkeyup两个事件整理

      动态创建元素的三种方式: 第一种: Document.write(); <body> <input type="button" id="btn" ...

    9. jQuery动态创建DOM节点

      var SKU=$("#SKU"); // 通过ID查找到指定表格 var oTable=SKU[0]; // 获取第一个表格 // 获取正文tbody元素 var tBodies ...

    随机推荐

    1. [BZOJ1503][NOI2004]郁闷的出纳员

      [BZOJ1503][NOI2004]郁闷的出纳员 试题描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是 ...

    2. [TimusOJ1057]Amount of Degrees

      [TimusOJ1057]Amount of Degrees 试题描述 Create a code to determine the amount of integers, lying in the ...

    3. 15 BasicHashTable基本哈希表类(二)——Live555源码阅读(一)基本组件类

      这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...

    4. 4-python学习——数据操作

      4-python学习--数据操作 参考python类型转换.数值操作(收藏) Python基本运算符 数据类型转换: 有时候,可能需要执行的内置类型之间的转换.类型之间的转换,只需使用类名作为函数. ...

    5. httpclient+Jsoup总结

      Jsoup.parse解析HTML字符串,如Jsoup.parse("<html><head><title>Firstparse</title> ...

    6. jQuery FileUpload等插件的使用实例

      1.jQuery FileUpload 需要的js: jquery.js jquery.fileupload.js jquery.iframe-transport.js jquery.xdr-tran ...

    7. Union-Find Algorithm

      Union-Find Algrithm is used to check whether two components are connected or not. Examples: By using ...

    8. python2.79安装

      从官网下载最新的安装程序,基于windows的,也可以直接百度下载 点击安装,如果其他用户不需要python的话,可以使用第二个,不过我们一般都是单用户,所以没差 选择安装路径,可按默认路径安装,也可 ...

    9. C#创建和调用WebService详细教程

      1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

    10. Divide and conquer:Subset(POJ 3977)

      子序列 题目大意:给定一串数字序列,要你从中挑一定个数的数字使这些数字和绝对值最小,求出最小组合数 题目的数字最多35个,一看就是要数字枚举了,但是如果直接枚举,复杂度就是O(2^35)了,显然行不通 ...