关于jQ中$(selector).data(name,value)方法的使用

在HTML5中标签新增了自定义的data-*属性,相信这个大家都有了解,但是获取data-*值得时候大家怎么获取的呢?比如:

nothing

怎样获取data-pid和data-uid的值?
$('p').attr('data-pid'));

这样的话就太low了,jQ专门提供了获取自定义data-*值的方法:
$('p').data('pid'); //获取该p标签的data-pid值,同$('p').attr('data-pid')用法 $('p').data(); //获取该p标签所有“data-*”属性值,以key-value形式存储在Object中,不能获取非data开头的属性的值,如id和class

这就完了?不,$.data()的用法可不止如此,看如下一段代码:
var flag = false; $("button").click(function(){ if(flag){ $("p").text("true"); flag=false; }else{ $("p").text("false"); flag=true; } });

这里的falg变量是对p操作过程中的临时变量,可以不使用var声明该变量,而使用$(selector).data()给p定义一个data-*变量,达到同样的目的,如下:
$("button").click(function(){ if( $("p").data("flag") ){ $("p").text("true"); $("p").data("flag",false); }else{ $("p").text("false"); $("p").data("flag",true); } });












【关于jQ中$(selector).data(name,value)方法的使用】

    推荐阅读