jQuery1.4版新功能(三)——jQuery属性和核心
作者:Shellway,转载请注名文章出处:Shellway的博客
文章参考:jQuery14天教程-第一天
3.属性
1). .css()和.attr()的性能在新版中有所增强。

2). .attr()可以接收一函数设置器。
我们不仅可以在.attr()中使用设置函数,还可以通过设置函数利用现有的属性值。比如:
jQuery('<img src="enter.png" alt="输入你的名字" />')
.attr("alt", function(index, value) {
return "请, " + value;
});
3). .val(Function)
<input class="food" type='text' data-index="0" />
<input class="food" type='text' data-index="1" />
jQuery("input:text.food").hide();
jQuery("<ul class='sortable'><li>Peanut Butter</li><li>Jelly</li></ul>")
.sortable()
.bind("endsort", function() {
$(":text.food").val(function() {
return $("ul.sortable li:eq(" + $(this).attr("data-index") + ")").text();
});
});
4). .text()可以对文本及CDATA节点进行操作。
4.jQuery核心
1) 元素的快速建构
现在,当你使用jQuery函数构建单个元素的时候,你可以传入一个对象来同时添加该元素的属性和事件。示例代码:
jQuery("<div/>", {
id: "foo",
css: {
height: "50px",
width: "50px",
color: "blue",
backgroundColor: "#ccc"
},
click: function() {
$(this).css("backgroundColor", "red");
}
}).appendTo("body");
对象的键(keys)均为函数,每个值将作为参数传递到此函数中,然后调用。
2) .eq(-N)和.get(-N)
新版中,我们可以为.get()和.eq()传入负数。例如,要选择倒数第二个div,可以这样来访问DOM元素:
$("div").eq(-2);
$("div").get(-2);
3) 新的.first()和.last()方法
为方便起见,.first()和.last()是.eq(0)和.eq(-1)的另一种写法
4) 新的.toArray()方法
历来,.get()方法会从jQuery集合中返回一个数组。为了更加明确,我们可以在jQuery 1.4中使用.toArray()来完成同样的工作。但是,与.get()方法不同的是,.toArray()是无参数。
5) jQuery()返回空集
在jQuery 1.3中,jQuery()返回的是一个仅包含当前页面文档的jQuery集合。但在jQuery 1.4中,他将返回一个空的jQuery集合。这在要创建空集并给它动态添加元素的时候是有用的。
注:jQuery().ready()方法在1.4版中仍然可用,但是不建议使用,需要的话,请使用jQuery(document).ready()或者jQuery(function(){})(?我们一直都用这种的啊,哈哈)
6). jQuery("tag")
传入单个标签名的时候,jQuery会使用一个更快的路径来找到相应的标签对象。
7). jQuery(“<div>”)、jQuery(“<div/>”)和jQuery(“<div></div>”)
此三种形式现在采用相同的代码(用document.createElement),对jQuery(“<div></div>”)的性能有所改进。注意,如果指定了属性,它使用浏览器内部的解析(使用innerHTML)。
未完,待续……
1). .css()和.attr()的性能在新版中有所
改进。
2). .attr()可以接收一函数设置器。
你不仅可以在.attr()中使用设置函数,还
可以通过设置函数利用现有的属性值。比如
:
jQuery('<img src="enter.png" alt="输入
你的名字" />')
.attr("alt", function(index, value) {
return "请, " + value;
});
3). .val(Function)
<input class="food" type='text' data-
index="0" />
<input class="food" type='text' data-
index="1" />
jQuery("input:text.food").hide();
jQuery("<ul
class='sortable'><li>Peanut
Butter</li><li>Jelly</li><
/ul>")
.sortable()
.bind("endsort", function() {
$(":text.food").val(function() {
return $("ul.sortable li:eq(" +
$(this).attr("data-index") +
")").text();
});
});
4). .text()可以对文本及CDATA节点进行操
作。
4.jQuery核心
1).元素的快速建构
现在,当你使用jQuery函数构建单个元素的
时候,你可以传入一个对象来同时添加该元
素的属性和事件。示例代码:
jQuery("<div/>", {
id: "foo",
css: {
height: "50px",
width: "50px",
color: "blue",
backgroundColor: "#ccc"
},
click: function() {
$(this).css("backgroundColor",
"red");
}
}).appendTo("body");
对象的键(keys)均为函数,每个值将作为
参数传递到此函数中,然后调用。
2). .eq(-N)和.get(-N)
新版中,我们可以为.get()和.eq()传入负
数。例如,要选择倒数第二个div,可以这
样来访问DOM元素:
$("div").eq(-2);
$("div").get(-2);
3). 新的.first()和.last()方法
为方便起见,.first()和.last()是.eq(0)
和.eq(-1)的另一种写法
4). 新的.toArray()方法
历来,.get()方法会从jQuery集合中返回一
个数组。为了更加明确,我们可以在jQuery
1.4中使用.toArray()来完成同样的工作。
但是,与.get()方法不同的是,.toArray()
是无参数。
5). jQuery()返回空集
在jQuery 1.3中,jQuery()返回的是一个仅
包含当前页面文档的jQuery集合。但在
jQuery 1.4中,他将返回一个空的jQuery集
合。这在要创建空集并给它动态添加元素的
时候是有用的。
注:jQuery().ready()方法在1.4版中仍然
可用,但是不建议使用,需要的话,请使用
jQuery(document).ready()或者jQuery
(function(){})(?我们一直都用这种的啊
,哈哈)
6). jQuery("tag")
传入单个标签名的时候,jQuery会使用一个
更快的路径来找到相应的标签对象。
7). jQuery(“<div>”)、jQuery(“<div/>
”)和jQuery(“<div></div>”)
此三种形式现在采用相同的代码(用
document.createElement),对jQuery
(“<div></div>”)的性能有所改进。注意
,如果指定了属性,它使用浏览器内部的解
析(使用innerHTML)。
以下文章您或许也感兴趣
- DWZ RIA——一款很不错的国产jQuery UI
- jQuery轻松实现导航菜单的滚动效果
- jQuery强悍插件之jPlayer:在线影音播放器
- jPlayer 2 播放器示例集合
- 20个最新的jQuery组件收藏
- jQuery1.4版新功能(二)——Ajax
- jQuery1.4版新功能(一)——Setter设置器
- 如何解决Fengoffice报表导出CSV或PDF中文乱码问题?
- Cufon字体替换对IE9的支持问题
- WordPress 3.1版发布,添加十大新功能