jQuery 中一些细节知识点2(本文会持续更新)
来源:互联网 发布:现在java好找工作吗 编辑:程序博客网 时间:2024/05/21 06:38
jQuery 细节知识点1的文章为:
http://blog.csdn.net/u010533180/article/details/53513782
11 append方法
jquery中的append方法中如果存在相同的引用,则进行替换操作。
如下例子:
var $div = $("#divLi"); var $ul = $("<ul></ul>"); var $li = $("<li></li>").attr("value", 2).text(2).click(function () { alert($(this).attr("value")) }); $ul.append($li); $div.append($ul);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
页面展示效果为:
如果是下面的代码:
var $div = $("#divLi"); var $ul = $("<ul></ul>"); var $li = $("<li></li>").attr("value", 2).text(2).click(function () { alert($(this).attr("value")) }); $ul.append($li); $div.append($ul); $li.attr("value", 3).text(3); $ol.append($li);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
页面展示效果为:
可见append对同一个引用进行的是替换操作。
需要注意的是$("<li><li>")
这种写法是创建两个相同的li对象。
12 jquery li 给value赋值时包含,$,#等时获取的值可能不对
直接例子说话
var $div = $("#divLi"); var $ul = $("<ul></ul>"); var value = "a1,2"; var $li = $("<li></li>").attr("value", value).text(value).click(function () { alert($(this).attr("value")) }); $ul.append($li); $div.append($ul); console.log("li attr value:" + $li.attr("value")); console.log("li method value:" + $li.val());
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
结果为:
页面展示效果
控制台输出效果
弹窗效果
对于像这种value中包含特殊符号的,尽量使用html拼接进行操作。
13 循环添加大量新元素时,可以先创建一个隐藏元素,然后把这个隐藏元素添加到最终的元素,最后展现,这样可以减少页面dom的重写绘制操作。
例如:
正常的做法为:
var $div = $("#divLi"); var $ul = $("<ul></ul>"); for (var i = 0; i < 10000; i++) { var $li = $("<li></li>").attr("value", i).text(i).click(function () { alert($(this).attr("value")) }); $ul.append($li); } $div.append($ul);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
高效的方法为:
var $div = $("#divLi"); var $ul = $("<ul></ul>"); $ul.hidden(); for (var i = 0; i < 1000; i++) { var $li = $("<li></li>").attr("value", i).text(i).click(function () { alert($(this).attr("value")) }); } $ul.append($li); $ul.show(); $div.append($ul);
0 0
- jQuery 中一些细节知识点2(本文会持续更新)
- jQuery 中一些细节知识点2(本文会持续更新)
- jQuery 中一些细节知识点(本文会持续更新)
- Vitamio不支持特性列表(本文会持续更新 2013
- git知识点(持续更新中)
- 持续更新一些jquery相关内容
- 一些融会贯通的知识点----持续更新
- JAVA 基础细节汇总(持续更新中....)
- 用户界面设计细节_持续更新中
- 细节之痒 持续更新中...
- Java知识点小计 持续更新中
- 编程知识点大杂烩--->持续更新中... ...
- stm32f10x知识点整理--Timer(持续更新中)
- React知识点梳理(持续更新中)
- android 开发中遇到的一些小的知识点在此做一个记录(持续更新)
- 记录oracle11g使用过程中遇到的一些问题,会持续更新。
- IOS 开发的一些细节(持续更新)
- JavaScript细节 持续更新
- xcode-select --install "不能安装该软件,因为目前不可在软件服务器上使用它"
- 关于Java的反射机制,你需要理解这些..
- uGUI那些事儿一
- CSS代码缩写,占用更少的带宽/字体缩写/盒模型代码简写/颜色值缩写
- HttpClient使用学习(转载)
- jQuery 中一些细节知识点2(本文会持续更新)
- lightoj 1027 A Dangerous Maze 期望,玄学
- Python网络爬虫学习
- 分布式事务
- Java List 用法代码分析(非常详细)
- 玩转Eclipse--如何使用eclipse可以更好的提高我们的工作效率
- 颜色值的几种写法,长度值(px(像素)、em、% 百分比)
- Python网络爬取的代码以及信息
- 131.短信备份优化(接口实现)