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 AOP 实现ajax回调函数使用比较方便
Nov 20 Javascript
js中this的用法实例分析
Jan 10 Javascript
JS获取Table中td值的方法
Mar 19 Javascript
在浏览器中打开或关闭JavaScript的方法
Jun 03 Javascript
BootStrap 表单控件之单选按钮水平排列
May 23 Javascript
详解vue渲染从后台获取的json数据
Jul 06 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
Jul 24 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
Aug 08 jQuery
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
Aug 17 jQuery
浅谈JavaScript_DOM学习篇_图片切换小案例
Mar 19 Javascript
ES6 Promise对象概念及用法实例详解
Oct 15 Javascript
浅谈Three.js截图并下载的大坑
Nov 01 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
配置php网页显示各种语法错误
2013/09/23 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
基于JQuery和DWR实现异步数据传递
2020/10/16 jQuery
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
python assert的用处示例详解
2019/04/01 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
法学函授自我鉴定
2014/02/06 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
食品工程专业求职信
2014/06/15 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技