jQ中$(selector)について.Data(name,value)メソッドの使用

1360 ワード

HTML 5ではラベルにカスタム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);
      }
});