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模块化编程(一)AMD规范(规范使用模块)
Jan 17 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
Aug 05 Javascript
js对图片base64编码字符串进行解码并输出图像示例
Mar 17 Javascript
js与css实现弹出层覆盖整个页面的方法
Dec 13 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
Sep 06 Javascript
JS组件Bootstrap Select2使用方法详解
Apr 17 Javascript
JS iFrame加载慢怎么解决
May 13 Javascript
简单谈谈React中的路由系统
Jul 25 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
Dec 26 Javascript
angularJs提交文本框数据到后台的方法
Oct 08 Javascript
Vue $mount实战之实现消息弹窗组件
Apr 22 Javascript
vue npm install 安装某个指定的版本操作
Aug 11 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图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
php json转换成数组形式代码分享
2014/11/10 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
浅析TypeScript 命名空间
2020/03/19 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
python的几种开发工具介绍
2007/03/07 Python
python中反射用法实例
2015/03/27 Python
Python解析json文件相关知识学习
2016/03/01 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
详解Python self 参数
2019/08/30 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
Python reversed函数及使用方法解析
2020/03/17 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
Python如何实现远程方法调用
2020/08/07 Python
蔻驰美国官网:COACH美国
2016/08/18 全球购物
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
2014教师研修学习体会
2014/07/08 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
贷款承诺书
2015/01/20 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
导游词之镜泊湖
2019/12/09 职场文书