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调试工具(下载)
Jan 09 Javascript
javascript 兼容鼠标滚轮事件
Apr 07 Javascript
基于jquery的二级联动菜单实现代码
Apr 25 Javascript
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 Javascript
jquery中val()方法是从最后一个选项往前读取的
Sep 06 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
Apr 28 Javascript
浅析Javascript中双等号(==)隐性转换机制
Oct 27 Javascript
详解vue 自定义marquee无缝滚动组件
Apr 09 Javascript
JavaScript算法学习之冒泡排序和选择排序
Nov 02 Javascript
vue实现商品列表的添加删除实例讲解
May 14 Javascript
Ant design vue中的联动选择取消操作
Oct 31 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
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
javascript回到顶部特效
2016/07/30 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
Vue表单实例代码
2016/09/05 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
python中文乱码的解决方法
2013/11/04 Python
批处理与python代码混合编程的方法
2016/05/19 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
Python小进度条显示代码
2019/03/05 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
python 实现多维数组转向量
2019/11/30 Python
使用python+whoosh实现全文检索
2019/12/09 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
python实现ping命令小程序
2020/12/28 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
材料专业大学毕业生自荐书
2014/07/02 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
运动会广播稿100字
2014/09/14 职场文书
撤诉书怎么写
2015/05/19 职场文书
党支部综合考察意见
2015/06/01 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
军训决心书范文
2015/09/22 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
高中班主任寄语
2019/06/21 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
Redis RDB技术底层原理详解
2021/09/04 Redis