Javascript:DOM动态创建元素实例应用

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Dom:动态创建元素</title>
</head>
<body>

<ul id="demo1"> </ul>
<input type="text" id="text1"/>
<input type="button" value="发布" id="btn">

<script type="text/javascript">

var oUl=document.getElementById(‘demo1‘);
var oText=document.getElementById(‘text1‘);
var oBtn=document.getElementById(‘btn‘);

/*innerHTML方法会使性能降低;动态创建性能更优*/

oBtn.onclick=function(){

/*
*创建元素
*语法:document.createElement(要创建的标签名);
*
 */

var oLi=document.createElement(‘li‘);
//此时,只是创建,并不会在dom树里显示

	//oLi.innerHTML=oText.value+‘<a href="javascript:">删除</a>‘;
	//上述方法,性能较差,且不易操作

var oA=document.createElement(‘a‘);
oA.innerHTML=‘删除‘;
oA.href=‘javascript:;‘;

oA.onclick=function(){

	//删除元素
	//父级.removeChild(要删除的元素)

	oUl.removeChild(this.parentNode);
}

oLi.innerHTML=oText.value;
oLi.appendChild(oA);
oText.value=‘‘;

/*
*将元素添加到页面中的方法:
*方法一: appendChild()
*功能:即在父元素的最后一个子节点之后追加子元素,
*语法:父元素.appendChild(要添加的元素)
*兼容性:在IE下,如果第二个参数的节点不存在会报错;其他标准浏览器下,如果第二个参数的节点不存在,则会以appendChild的形式添加
*.eg. oUl.appendChild();
 */

//oUl.appendChild(oLi);

/*
*将元素添加到页面中的方法:
*方法二: insertBefore(新元素,被插入的已有元素)
*功能:在指定元素前面插入一个新元素
*语法:父元素.appendChild(要添加的元素)
*.eg. oUl.insertBefore(oLi,oUl.children[0]);
 */

//oUl.insertBefore(oLi,oUl.children[0]);

//兼容性写法

if(oUl.children[0]){
	oUl.insertBefore(oLi,oUl.children[0]);
}else{
	oUl.appendChild(oLi);
}

}

</script>

</body>
</html>

演示地址:http://codepen.io/anon/pen/yNpgLp

时间: 2024-10-03 14:55:15

Javascript:DOM动态创建元素实例应用的相关文章

DOM中动态创建元素与jQuery中动态创建元素

DOM中动态创建元素与jQuery中动态创建元素 DOM中动态创建元素: 1. document.write("标签的代码")    缺点:页面中原有的元素会被覆盖掉 2. innerHTML 3. document.createElement("标签的名称") jQuery中动态创建元素: 1. $("标签的代码") 2. 对象.html("标签的代码") 原文地址:https://www.cnblogs.com/david

JavaScript获取和创建元素

1.JavaScript中获取元素 常用的获取document中元素的方法: 1) document.getElementById()  =>通过元素ID获取文档中特定的元素,如获取 id = "button1" 的按钮 可以写成: var btn = document.getElementById("button1"); 2) document.getElementByTagName() =>获取特定标签的元素集合(返回为 NodeList 结果),因

JS动态创建元素

动态创建元素的三种方法: 第一种document.write("") document.write("<input type=‘text’>  value='456'>"); 相当于创建了一个默认名是456的输入框 function f1(){        document.write("<input type='text' value='999999'>");    } 但是当document.write(&qu

Python中动态创建类实例

Python中动态创建类实例 简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模块.如下: def createInstance(module_name, class_name, *args, **kwargs): module_meta = __import__(module_name, globals(), locals(), [class_n

JS动态创建元素的方式

动态创建元素的三种方式: 1.document.write(): a.写在函数里面的话,会冲刷掉之前的页面元素,所以一般不用或是少用: b.会打开document.open()或关闭document.close()文档流: c.文档流: 默认的浏览器的加载顺序是从上往下依次加载的,把当前页面加载完毕之后,就相当于关闭了文档流. 例: <input type="text" value="123"/><input type="button&q

javascript 实现动态创建Form发送数据

1 javascript 实现动态创建Form发送数据 2 数据传送get 或者post 1 GLOBAL.namespace("DySend"); 2 3 /** 4 * post方式提交数据 为正常提交方式 动态创建form表单进行提交 5 * 6 * @param {} 7 * path action URL路径 8 * @param {} 9 * params 一个对象 10 * @param {} 11 * methodType 12 */ 13 GLOBAL.DySend.

Asp.net mvc在view中用C#代码动态创建元素

来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=1231. 在view中可以用c#代码foreach动态创建元素2. 不加@{}下图中c#代码变成了白色,无法识别了. 原文地址:https://blog.51cto.com/14036626/2357251

layUi 模板引擎动态创建元素之后,绑定的事件无效了;

模板引擎动态创建元素之后,绑定的事件无效了: layUi 模板引擎动态创建元素之后,绑定的事件无效了: 可以在 模板引擎成功后  注册事件 原文地址:https://www.cnblogs.com/lpp-11-15/p/12264046.html

使用DOM动态创建标签

本文是参考<javascript Dom 编程艺术>第八章的内容所写,用到的知识点,就是关于创建平稳的web页面. 使用DOM方法: getElementById() getElementsByTagName() getAttribute() setAttribute() createElement() createTextNode() appendChild() 首先网页只是一段简单的html,含有部分复杂的标签. <abbr>用于缩写,<blockquote>引用.