基于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 相关文章推荐
javascript操作JSON的要领总结
Dec 09 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
Jul 18 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
用jmSlip编写移动端顶部日历选择控件
Oct 24 Javascript
详解webpack进阶之loader篇
Aug 23 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
Angular简单验证功能示例
Dec 22 Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
vue模块拖拽实现示例代码
Mar 09 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
Sep 25 Javascript
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
在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
十幅图告诉你什么是PHP引用
2015/02/22 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
js 获取、清空input type=&quot;file&quot;的值示例代码
2014/02/19 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
python datetime处理时间小结
2020/04/16 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
人力资源管理专业学生自我评价
2013/11/20 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
房屋租赁意向书
2014/04/01 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
市级文明单位申报材料
2014/05/07 职场文书
创建文明城市标语
2014/06/16 职场文书
个人党性锻炼总结
2015/03/05 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
学校教学管理制度
2015/08/06 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书