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 缩图函数 (onDOMLoaded)……
Oct 23 Javascript
javascript 处理HTML元素必须避免使用的一种方法
Jul 30 Javascript
推荐JavaScript实现继承的最佳方式
Nov 11 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
Jan 13 Javascript
Angularjs实现mvvm式的选项卡示例代码
Sep 08 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
Mar 13 Javascript
Angular实现可删除并计算总金额的购物车功能示例
Dec 26 Javascript
基于JS实现数字动态变化显示效果附源码
Jul 18 Javascript
JS使用正则表达式提交页面验证的代码
Oct 16 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
Aug 04 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
Oct 02 Javascript
动态实现element ui的el-table某列数据不同样式的示例
Jan 22 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集成FCK的函数代码
2008/09/27 PHP
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
关于query Javascript CSS Selector engine
2013/04/12 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
python实现海螺图片的方法示例
2019/05/12 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
锐步香港官方网上商店:Reebok香港
2020/11/05 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
运动会通讯稿150字
2014/02/15 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
委托书格式范文
2015/01/28 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android