动态创建Dom节点

    1.使用$(html字符串)来创建Dom节点

    2.append方法用来在元素的末尾追加元素

    案例:动态生成网站列表

    3.prepend,在元素的开始添加元素。 prependTo。after,在元素之后添加元素(添加兄弟)。before:在元素之前添加元素(添加兄弟)。

删除节点

    (1)remove()删除选择的节点

    (2)empty()是将节点清空,清除节点的innerHTML,节点还在

    案例:权限选择

    练习:选美女。被悬浮行高亮显示(背景是红色),点击美女将它放到另一个的美女列表。

动态创建Dom节点


1.使用$(html字符串)来创建Dom节点,并且返回一个jQuery对象,然后调用append等方法将新创建的节点添加到其他节点(元素)中:
  

var link = $("<a href='http://www.baidu.com'>百度</a>");
$("div:first").append(link);

$()创建的就是一个jQuery对象,可以完全进行操作

var link = $("<a href='http://www.baidu.com'>百度</a>");
link.text("百毒");
$("div:first").append(link);

。getElementByid的问题

2.append方法用来在元素的末尾追加元素

案例:动态生成网站列表

隐藏行号 复制代码 ? 这是一段程序代码。
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.     <title></title>
  6.     <script src="Jqeury/jquery-1.10.2.js"></script>
  7.     <script type="text/javascript">
  8.         $(function () {
  9.             //判断页面上是否有table
  10.             $("input[value=提交]").click(function () {
  11.                 if ($("#tb").length > 0) {
  12.                     return;
  13.                 }
  14.                 var json = [
  15.                             { "name": "cnblog", "site": "http://www.cnblogs.com" },
  16.                             { "name": "cnbeat", "site": "http://www.cnbeat.com" },
  17.                             { "name": "qiushibaike", "site": "http://www.qiushibaike.com" }
  18.                 ];
  19.                 var $tb = $("<table id='tb' border='1' width='300'></table>");
  20.                 $("#d1").append($tb);
  21.                 $.each(json, function () {
  22.                     var $tr = $("<tr></tr>");
  23.                     $tb.append($tr);
  24.                     var $td = $("<td><a href='" + this.site + "'>" + this.name + "</td>");
  25.                     $tr.append($td);
  26.                     $td = $("<td>" + this.site + "</td>");
  27.                     $tr.append($td);
  28.                 })
  29.             })
  30.         })
  31.     </script>
  32. </head>
  33. <body>
  34.     <div id="d1">11111</div>
  35.     <input type="button" value="提交" />
  36. </body>
  37. </html>

 

动态创建Dom(同一案例)

练习:输入员工,员工个数不确定(动态生成文本框)

创建出的元素没有append到界面之前是无法用选择器找到的,就像new一个对象 
3.prepend,在元素的开始添加元素。 prependTo。

  after,在元素之后添加元素(添加兄弟)。

  before:在元素之前添加元素(添加兄弟)。

 

 

删除节点


(1)remove()删除选择的节点

案例:清空ul中的项,代码见备注。$(“ul li.testitem”).remove(); 删除ul下li中有testitem样式的元素。自杀。把找到的都删掉。

remove方法的返回值是被删除的节点对象,还可以继续使用被删除的节点。比如重新添加到其他节点下

         var lis = $("#ulSite li").remove();
$("#ulSite2").append(lis); // $("#ulSite li").remove().appendTo($("#ulSite2"));

(2)empty()是将节点清空,清除节点的innerHTML,节点还在

 

案例:权限选择

 

隐藏行号 复制代码 ? 这是一段程序代码。
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.     <title></title>
  6.     <script src="Jqeury/jquery-1.10.2.js"></script>
  7.     <script type="text/javascript">
  8.         $(function () {
  9.             $("input[value='>']").click(function() {
  10.                 var $link = $("#all option:selected").remove().removeAttr("selected");
  11.                 $("#sel").append($link);
  12.                 
  13.                 //一行的效果
  14.                 //$("#all option:selected").remove().removeAttr("selected").appendTo($("#sel"));
  15.                 //可以去掉remove(),达到一样的效果
  16.                 //$("#all option:selected").removeAttr("selected").appendTo($("#sel"));
  17.             });
  18.         })
  19.     </script>
  20. </head>
  21. <body>
  22.     <select id="all" size="5" multiple="multiple">
  23.         <option>查找</option>
  24.         <option>编辑</option>
  25.         <option>删除</option>
  26.         <option>添加</option>
  27.     </select>
  28.     <input type="button" value=">" />
  29.     <input type="button" value="<" />
  30.     <input type="button" value=">>" />
  31.     <input type="button" value="<<" />
  32.     <select id="sel" size="5" multiple="multiple">
  33.     </select>
  34. </body>
  35. </html>

 

练习:选美女。被悬浮行高亮显示(背景是红色),点击美女将它放到另一个的美女列表。

隐藏行号 复制代码 ? 这是一段程序代码。
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  5.     <title>4minute - 选美女</title>
  6.     <style type="text/css">
  7.         li {
  8.             width: 150px;
  9.             cursor: pointer;
  10.         }
  11.     </style>
  12.     <script src="Jqeury/jquery-1.10.2.js"></script>
  13.     <script type="text/javascript">
  14.         $(function () {
  15.             $("#mv li").mousemove(function () {
  16.                 $(this).css("background-color", "yellow");
  17.             }).mouseout(function () {
  18.                 $(this).css("background-color", "white");
  19.             }).click(function () {
  20.                 //remove会移除对象的事件 [但不会移除样式]
  21.                 $(this).remove().appendTo($("#cn")).css("background-color", "white");
  22.             })
  23.         })
  24.     </script>
  25. </head>
  26. <body>
  27.     <ul id="mv">
  28.         <li>南智贤</li>
  29.         <li>金泫雅</li>
  30.         <li>权昭贤</li>
  31.         <li>许嘉允</li>
  32.         <li>全智允</li>
  33.     </ul>
  34.     <hr />
  35.     <ul id="cn">
  36.         
  37.     </ul>
  38. </body>
  39. </html>

jQuery – 7.动态创建Dom、删除节点的更多相关文章

  1. DOM创建和删除节点、HTML DOM常用对象[转]

    创建和删除节点:——核心DOM   1. 创建单个元素节点:3步:      1. 创建空元素节点对象:         var elem=document.createElement("标 ...

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

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

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

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

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

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

  5. es6 Object.assign ECMAScript 6 笔记(六) ECMAScript 6 笔记(一) react入门——慕课网笔记 jquery中动态新增的元素节点无法触发事件解决办法 响应式图像 弹窗细节 微信浏览器——返回操作 Float 的那些事 Flex布局 HTML5 data-* 自定义属性 参数传递的四种形式

    es6 Object.assign   目录 一.基本用法 二.用途 1. 为对象添加属性 2. 为对象添加方法 3. 克隆对象 4. 合并多个对象 5. 为属性指定默认值 三.浏览器支持 ES6 O ...

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

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

  7. DOM – 7.动态创建DOM + 8.innerText innerHTML value

    7.动态创建DOM 8.innerText  innerHTML  value 7+8 练习:案例:点击按钮动态增加网站列表,分两列,第一列为网站的名字,第二列为带网站超链接的网站名.增加三行常见网站 ...

  8. 动态创建dom元素

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

  9. jquery中动态新增的元素节点无法触发事件解决办法

    在使用jquery中动态新增的元素节点时会发现添加的事件是无法触发的,我们下面就为各位来详细的介绍此问题的解决办法. 比如做一个ajax读取留言列表的时候,每条留言后面有个回复按钮,class为“re ...

随机推荐

  1. 一起入门python6之函数

    今天我们来学习新的一篇吧,那便是“函数(function)”我们用def来定义一个函数,以案例说话.>>> def name(x):          #定义一个“name”的函数. ...

  2. Linux之Shell的算术运算

    在Bash的算术运算中有以下几种方法:名称                语法                    范例算术扩展            $((算术式))              r ...

  3. net-snmp配置:snmp v3的安全配置

    net-snmp配置:snmp v3的安全配置 net-snmp配置:snmp v3的安全配置 增加snmp v3用户 增加 认证且加密只读账号(authPriv) 增加 认证且加密的读写账户 增加 ...

  4. 简单的哈希表实现 C语言

    简单的哈希表实现 简单的哈希表实现 原理 哈希表和节点数据结构的定义 初始化和释放哈希表 哈希散列算法 辅助函数strDup 哈希表的插入和修改 哈希表中查找 哈希表元素的移除 哈希表打印 测试一下 ...

  5. 阻止a标签默认跳转事件

    1:<a href="####"></a> 2:<a href="javascript:void(0)"></a> ...

  6. iframe自适应宽度

    <iframe id="course_content" style="width:100%;margin:5px 0 0;" scrolling=&quo ...

  7. centos 6.5 下用apache部署web 应用

    1. 修改/etc/httpd/conf/httpd.conf文件,添加一个virtualhost段,具体略.注意在段内配置NaveServer. 此文件全局也要配置一个NameServer(原因有待 ...

  8. phpcms采集地址中为相对路径解决方法

    1.修改数据库v9_collection_node,增加两个字段replace_from,replace_to(varchar(200)) 2./phpcms/modules/collection/t ...

  9. 【Other】Ubuntu 14.04 pptp 客户端连接配置

    sudo apt-get install pptp-linux binutils modprobe ppp_mppe sudo pptpsetup --create testvpn --server ...

  10. perl的一些函数(二)

    1. tr 转换 转换不是替换(tr///==y///) tr/searchlist/replacementlist/用于查找某个一个字符串,并用replacementlist替换,可以使用正则表达式 ...