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和ActionScript的交互实现代码
Aug 01 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
Feb 12 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
Jan 13 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
Oct 26 Javascript
jquery实现列表上下移动功能
Feb 25 Javascript
JS获取一个未知DIV高度的方法
Aug 09 Javascript
JS实战篇之收缩菜单表单布局
Dec 10 Javascript
bootstrap paginator分页前后台用法示例
Jun 17 Javascript
Cpage.js给组件绑定事件的实现代码
Aug 31 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
Apr 09 Javascript
简单了解vue.js数组的常用操作
Jun 17 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
学习JavaScript设计模式(封装)
2015/11/26 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
linux环境下Django的安装配置详解
2019/07/22 Python
pytorch 共享参数的示例
2019/08/17 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
应用电子专业学生的自我评价
2013/10/16 职场文书
篝火晚会主持词
2014/03/25 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
创业计划书之餐饮
2019/09/02 职场文书
Django migrate报错的解决方案
2021/05/20 Python