jquery1.4 教程一 便利的设置函数
便利的设置函数
jquery1.4的大部分设置值对方法都可以设置第二个参数为回调函数。比如:.css(), .attr(), .val(), .html(), .text()。
这说法很抽象,来看示例 http://demo.jb51.net/js/jquery1.4/jquery_1.htm
便利的设置函数
$(function(){
$("#btn1").click(function(){
$('#a1').html(function(i,html){
return html.replace(/。/g,'!已经被替换');
});
})
$("#btn2").click(function(){
$('#a1').attr("title",function(i,title){
return title + " (已经被替换)";
});
})
})
改进一:jquery1.4的大部分设置值对方法都可以设置第二个参数为回调函数。比如:.css(), .attr(), .val(), .html(), .text()。
看下面的demo
这是一个链接。
现在使用回调函数中直接对衔接中的文字进行替换。以前的方法是先取a的htnl,然后再使用正则匹配,最后进行替换。
1.4一步搞定,来看代码:
$('#a1').html(function(i,html){
return html.replace(/。/g,'!已经被替换');
});
你会发现,衔接的"。"被替换为"!已经被替换"。
是不是比以前方便多了?
同样适用于其他设置值对方法,比如attr(),可以试着第二个参数改变成函数看看。
这次替换链接的title属性:
$('#a1').attr("title",function(i,title){
return title + " (已经被替换)";
});
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
<a href="" id="a1" title="测试">这是一个链接。</a>
var _html = $('#a1').html();
var _newHtml = html.replace(/。/g,'!已经被替换');
$('#a1').html(_newHtml);
$('#a1').html(function(i,html){return html.replace(/。/g,'!已经被替换');});
一行代码搞定!重要的是可以遍历多个对象,进行分别处理。
来看下回调函数的二个参数:
第一个参数为索引值,在对遍历对象进行分别处理时就很有用
第二个参数为旧的html值。
此回调函数务必有返回值!
这种处理方式,不止可应用于html(),其他的设置值对方法基本上都可以。详细列表如下:
.css(), .attr(), .val(), .text(), .append(), .prepend(), .before(), .after(), .replaceWith(), .wrap(), .wrapInner(), .offset(), .addClass(), .removeClass(), .toggleClass()
下一期将重点讲解jquery1.4在ajax方面的改进。