基于jquery的关于动态创建DOM元素的问题


Posted in Javascript onDecember 24, 2010
<script type="text/javascript"> 
document.getElementById("testDiv").innerHTML ="动态创建的div"; 
</script>

而且用的应该是还是乐此不疲,但是有多少人知道这是错误的做法!错误的原因:
(1) 在页面加载时改变了页面的结构. 在IE6中如果网络变慢或者页面内容太大就会出现"终止操作"的错误. 也就是说"永远不要在页面加载时改变页面的Dom模型".
(2) 使用修改HTML内容添加元素, 不符合Dom标准. 在实际工作中也碰到过使用这种方法修改内容后, 某些浏览器中并不能立刻显示添加的元素, 因为不同浏览器的显示引擎是不同的. 但是如果我们使用Dom的CreateElement创建对象, 在所有的浏览器中几乎都可以. 但是在jQuery中如果传入的而是一个完整的HTML字符串, 内部也是使用innerHTML. 所以也不是完全否定innerHTML函数的使用.所以从现在开始请摒弃这种旧知识, 使用下面介绍的正确方法编程.
关于使用HTML DOM创建元素本文不做详细介绍, 下面举一个简单的例子:第一种正确方式:
//使用Dom标准创建元素 
var select = document.createElement("select"); 
select.options[0] = new Option("加载项1", "value1"); 
select.options[1] = new Option("加载项2", "value2"); 
select.size = "2"; 
var object = testDiv.appendChild(select);

通过使用 document.createElement 方法我们可以创建Dom元素, 然后通过appendChild方法为添加到指定对象上.
第二种方式: 使用Jquery
当HTML字符串是没有属性的元素是, 内部使用document.createElement创建元素, 比如:

//jQuery内部使用document.createElement创建元素:

$("").css("border","solid 1px #FF0000").html("动态创建的div").appendTo(testDiv);
否则使用innerHTML方法创建元素:

//jQuery内部使用innerHTML创建元素:

$("动态创建的div").appendTo(testDiv)

Javascript 相关文章推荐
只需一行代码,轻松实现一个在线编辑器
Nov 12 Javascript
javascript强制点击广告的方法
Feb 06 Javascript
js实现iframe自动自适应高度的方法
Feb 17 Javascript
js拆分字符串并将分割的数据放到数组中的方法
May 06 Javascript
javascript制作照片墙及制作过程中出现的问题
Apr 04 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
Sep 28 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
Dec 08 Javascript
JQuery.validationEngine表单验证插件(推荐)
Dec 10 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
简单实现js点击展开二级菜单功能
May 16 Javascript
基于Vue实现拖拽效果
Apr 27 Javascript
Flutter实现仿微信底部菜单栏功能
Sep 18 Javascript
在JavaScript中获取请求的URL参数
Dec 22 #Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
Dec 22 #Javascript
jQuery Clone Bug解决代码
Dec 22 #Javascript
修改jquery.lazyload.js实现页面延迟载入
Dec 22 #Javascript
jquery插件 autoComboBox 下拉框
Dec 22 #Javascript
Jquery截取中文字符串的实现代码
Dec 22 #Javascript
jquery里的each使用方法详解
Dec 22 #Javascript
You might like
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
python书籍信息爬虫实例
2018/03/19 Python
Python爬取成语接龙类网站
2018/10/19 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
python数据预处理方式 :数据降维
2020/02/24 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
进程的查看和调度分别使用什么命令
2013/12/14 面试题
Linux的文件类型
2016/07/05 面试题
化验室技术员岗位职责
2013/12/24 职场文书
买房子个人收入证明
2014/01/16 职场文书
法人代表授权委托书
2014/04/08 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
党支部换届选举方案
2014/05/08 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
三好学生事迹材料
2014/12/24 职场文书
出国留学单位推荐信
2015/03/26 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
Python基础之条件语句详解
2021/06/16 Python
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python