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操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
Sep 26 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
Jan 24 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
Oct 28 Javascript
Javascript基于AJAX回调函数传递参数实例分析
Dec 15 Javascript
JavaScript 函数的执行过程
May 09 Javascript
老生常谈JavaScript数组的用法
Jun 10 Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
Angular2开发环境搭建教程之VS Code
Dec 15 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
简单使用webpack打包文件的实现
Oct 29 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实现显示照片exif信息的方法
2014/07/11 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
详解JavaScript中数组的相关知识
2015/07/29 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
十大热门的JavaScript框架和库
2017/03/21 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
Python中字典映射类型的学习教程
2015/08/20 Python
Python Requests安装与简单运用
2016/04/07 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
初一学生评语大全
2014/04/24 职场文书
爱国主义演讲稿
2014/05/07 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
幼儿园中班教育随笔
2015/08/14 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
Oracle笔记
2021/04/05 Oracle
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js