jquery 动态创建元素的方式介绍及应用


Posted in Javascript onApril 21, 2013

一般动态创建元素可以通过两种方式
1、Dom HTml

var select = document.createElement("select"); 
select.options[0] = new Option("加载项1", "value1"); 
select.options[1] = new Option("加载项2", "value2"); 
select.size = "2"; 
testDiv.appendChild(select); 
});

通过document的createElement方法创建,然后通过appendChild方法添加到指定的对象中即可

2、JQuery函数创建
$("<div style=\"border:solid 1px #FF0000\">动态创建的div</div>")
通过append,appendto,prepend,prependto等方法添加到指定的对象中,具体可以查看 
https://3water.com/article/35845.htm

3、页面加载的时候最好在页面加载完后执行创建
可以使用window.onload,但是在添加新的元素, 但是不幸的是浏览器执行window.onload函数不仅仅是在构建完DOM树之后, 也是在所有图像和其他外部资源完整的加载并且在浏览器窗口显示完毕之后. 所以如果某个图片或者其他资源加载很长时间, 访问者就会看到一个不完整的页面, 甚至在图片加载之前就执行了需要依赖动态添加的元素的脚本而导致脚本错误.

解决办法就是等DOM被解析后, 在图像和外部资源加载之前执行我们的函数.在jQuery中让这一实现变得可行

$(document).ready( 
function() { testDiv.innerHTML = "<div style=\"border:solid 1px #FF0000\">使用动态创建的$(document).ready(function)方法</div>"; } 
);

或者使用简便语法:
//jQuery 使用$(function)方法 
$( 
function() { testDiv.innerHTML += "<div style=\"border:solid 1px #FF0000\">使用$(function)方法</div>"; } 
);

使用$()将我们的函数包装起来即可. 而且可以在一个页面绑定多个函数, 如果使用传统的window.onload则只能调用一个函数.

所以请大家将修改DOM的函数使用此方法调用. 另外还要注意document.createElement和innerHTML的区别. 如果可以请尽量使用document.createElement和$("<div/>")的形式创建对象.

Javascript 相关文章推荐
JavaScript开发时的五个注意事项
Dec 08 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
Jan 16 Javascript
用javascript关闭本窗口不弹出询问框的方法
Sep 12 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
JavaScript如何获取数组最大值和最小值
Nov 18 Javascript
jQuery实现form表单元素序列化为json对象的方法
Dec 09 Javascript
详解JavaScript设计模式开发中的桥接模式使用
May 18 Javascript
axios中cookie跨域及相关配置示例详解
Dec 20 Javascript
Vue常用指令详解分析
Aug 19 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
Vue element-ui父组件控制子组件的表单校验操作
Jul 17 Javascript
JavaScript中跨域问题的深入理解
Mar 04 Javascript
jQuery弹出(alert)select选择的值
Apr 21 #Javascript
jQuery登陆判断简单实现代码
Apr 21 #Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
Apr 21 #Javascript
Jquery submit()无法提交问题
Apr 21 #Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 #Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
Apr 20 #Javascript
对jQuery的事件绑定的一些思考(补充)
Apr 20 #Javascript
You might like
drupal 代码实现URL重写
2011/05/04 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
PHP实现微信发红包程序
2015/08/24 PHP
PHP chop()函数讲解
2019/02/11 PHP
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
JavaScript模块详解
2017/12/18 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python计算程序运行时间的方法
2014/12/13 Python
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
python打印异常信息的两种实现方式
2019/12/24 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
建筑工地门卫岗位职责
2014/04/30 职场文书
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL