创建DOM元素
createElement(标签名)  创建一个节点
appendChild(节点)  追加一个节点
例子:为ul插入li
插入元素
insertBefore(节点, 原有节点)  在已有元素前插入
例子:倒序插入li
删除DOM元素
removeChild(节点)  删除一个节点
例子:删除li
 
文档碎片
文档碎片可以提高DOM操作性能(理论上)
文档碎片原理
document.createDocumentFragment()
 
                                                                            创建 <li>
 
 
 
 <script>
window.onload= function ()
{
var oBtn=document.getElementById('btn1');
var oUl=document.getElementById('ull');
var ali=document.getElementsByTagName('li');
var oTxt=document.getElementById('txt');
oBtn.onclick=function ()
{
var oLi=document.createElement('li');
//父级.appendChild(子节点);
//oUl.appendChild(oLi);//在已有元素后插入
oLi.innerHTML=oTxt.value;
//oUl.insertBefore(oLi,ali[0]);//在任意元素前插入
//为了兼容, 最好选择下面这种方法,原因是有时ul里会没有li标签
//alert(ali.length);//判断li的个数
if(ali.length>0)
{
oUl.insertBefore(oLi,ali[0]);
}
else{oUl.appendChild(oLi); }
} }
</script>
</head> <body> <div id="divId">
<input type="text" id="txt"/>
<input type="button" id="btn1" value="创建 li"/>
<ul id="ull">
<li>jgjghmjnhg</li>
<li>1234255535</li>
<li>vmhmbmbmbh</li>
<li>6878987978</li>
</ul> </div> </body>
                                                                                 删除<li>
 
 

 <script>
window.onload= function ()
{
var aHref=document.getElementsByTagName('a');
var oUl=document.getElementById('ull');
for(var i=0 ; i<aHref.length;i++)
{
aHref[i].onclick=function ()
{
oUl.removeChild(this.parentNode);
}
} }
</script>
</head> <body> <div id="divId"> <ul id="ull">
<li>jgjghmjnhg <a href="javascript:;">删除</a></li>
<li>1234255535 <a href="javascript:;">删除</a></li>
<li>vmhmbmbmbh <a href="javascript:;">删除</a></li>
<li>6878987978 <a href="javascript:;">删除</a></li>
</ul> </div> </body>
 

javascript DOM 基础篇 01 : http://www.cnblogs.com/izhiniao/p/3698464.html

 
 
 
 
 

Javascript DOM 02 在<ul>中创建、删除 <li>的更多相关文章

  1. 多个ul中第一个li获取定位

    如果我们只是获取一个ul中的第一个li的话,那么我们可以这样写: $("ul li:first"); $("ul li").eq(0); $("ul ...

  2. 通过jquery获取ul中第一个li的属性

    当加载列表时,默认希望选中第一条.top_menu 为ul的ID 通过 $("#top_menu li:first") 就可以获取到 ul下第一个li标签.然后就可以利用 例如 修 ...

  3. 使用JavaScript操作DOM节点元素的常用方法(创建/删除/替换/复制等)

    getElementById(id)这是通过id来访问某一元素,最常用的之一,例:<html><body><div id="myid">test ...

  4. 关于JavaScript中的事件代理(例子:ul中无数的li上添加点击事件)

    面试题:一个ul中有一千个li,如何给这一千个li绑定一个鼠标点击事件,当鼠标点击时alert出这个li的内容和li的位置坐标xy. 看到这个题目,我们一般首先想到的思路是,for循环,遍历1000次 ...

  5. JavaScript DOM高级程序设计2.1创建可重用的对象--我要坚持到底!

    1.对象中包含什么 在javascript中,从函数到字符串实际上都是对象 继承 //创建一个person对象的实例 var penson={}; person.getName=function(){ ...

  6. jquery中怎么删除<ul>中的整个<li>包括节点

    .$('ul li').remove(); .$('ul li').each(function(){ $(this).remove(); }); .$("ul").find(&qu ...

  7. Html中怎么用CSS让ul中多个li标签不换行横排显示

    布局 通常有三种方式 { 1. position 2. float: left --> 其次是这个 3. block: inline-block  --> 他们推荐我用这个 } 具体描述 ...

  8. angular或者js如何确定选中ul中的哪几个li

    刚来新公司接到新的需求做一个知识库页面 红色的是单选    蓝色的是多选     这些都是需要传递到后台的 开始不知道如何解决  下班后在家想到一个很巧妙的办法  不多说上代码 箭头所指就是在li里写 ...

  9. JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析

    先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...

随机推荐

  1. BlogUI的使用

  2. support STL Viewer with WordPress On SAE

    由于SAE不支持本地代码目录写入, 我把WordPress的uploads路径改到了Storage中, 使用Domain来存放非代码资源. 这导致STL Viewer插件无法正常使用. 解决方法: 把 ...

  3. 重新生成IE02

    procedure ReBuild_IE02( pi_aac001 in number, po_fhz out varchar2, po_msg out varchar2) is type typ_t ...

  4. Python网络编程——获取远程设备的IP地址

    有时需要把设备的主机名转换成对应的IP地址,下面是一个简单的操作. import socket def get_remote_machine_info(): # 定义get_remote_machin ...

  5. 启动(Startup)

    Startup Chrome是一个单一的可执行程序.它清楚如何运行其它进程. 下面是chrome启动的概述: 1. 首先,chrome有一个平台相关的入口点:在windows上是wWinMain(): ...

  6. myeclipse部署时An internal error occurred 错误的几种情况

    myecplise上将工程部署到应用下时,经常出现 An internal error occurred during: "Add Deployment". java.lang.N ...

  7. cocos2d-x 通过JNI实现c/c++和Android的java层函数互调

    文章摘要: 本文主要实现两个功能: (1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数. (2)通过c++函数调用Android的java层函 ...

  8. china-pub

    #!/usr/bin/env python                         #coding:utf-8import urllib2,re,sys,os,types            ...

  9. 51cto运维培训课程

    线路图: Linux运维架构师 基础提高篇(120课时) 基础提高篇(240课时) Linux系统基础及系统管理 Shell编程入门及进阶 linux安全管理和企业级安全防范策略 企业级集群/存储专题 ...

  10. Vijos P1680距离

    题目 背景 简单的DP 描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“abcb_c_”,“_a_bcbcd_”和“ab ...