Shellway Blog 关注前端设计,关注互联网发展趋势

212010/010/100

jQuery1.4版新功能(三)——jQuery属性和核心

作者:Shellway,转载请注名文章出处:Shellway的博客
文章参考:jQuery14天教程-第一天

3.属性

1). .css()和.attr()的性能在新版中有所增强。

.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("&lt;ul class='sortable'><li>Peanut Butter&lt;/li>&lt;li>Jelly&lt;/li>&lt;/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)。

未完,待续……

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("&lt;ul

class='sortable'><li>Peanut

Butter&lt;/li>&lt;li>Jelly&lt;/li>&lt;

/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)。

<!-- JiaThis Button BEGIN --> <div id="ckepop"> <a href="http://www.jiathis.com/share/" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank">分享到:</a> <a title="分享到QQ空间" class="jiathis_button_qzone">QQ空间</a> <a title="分享到人人网" class="jiathis_button_renren">人人网</a> <a title="分享到开心网" class="jiathis_button_kaixin001">开心网</a> <a title="分享到新浪微博" class="jiathis_button_tsina">新浪微博</a> </div> <script type="text/javascript" src="http://v1.jiathis.com/code/jia.js" charset="utf-8"></script> <!-- JiaThis Button END -->



以下文章您或许也感兴趣

coded by nessus
评论 (0) 引用 (0)

还没有评论.


Leave a comment

(required)


*

还没有引用.