2017-03-19 5 views
1

の値を取得します。私は今、コードを変更すること何回か試してみました。しかし、毎回NaNが得られます...jQueryのは、データ属性

$(window).load(function() { 
    $('.ytdl').click(function() { 
     var v = $(this).data('href'); 
     var f = $(this).data('format'); 

     alert(v + f); 

    }); 
}); 


<a data-href="KMU0tzLwhbE" data-format="1" rel="nofollow" target="_blank" class="ytdl">Download</a> 

なぜですか?私はすでにattrにデータを変更しようとしました。 しかし、これの何も動作していません。

+0

これは計画されたとおりに動作します - コードスニペットにロードし、それを試してみてください - どこかに問題を解決し –

答えて

2

だけ変更load

readyに.ready()メソッドは、すぐにページのドキュメントオブジェクトモデル(DOM)を操作しても安全になるとJavaScriptコードを実行するための方法を提供しています。これは、イベントハンドラの追加やプラグインの初期化など、ユーザーがページを表示または操作する前に必要なタスクを実行するのに適しています。このメソッドを連続して呼び出すことで複数の関数が追加された場合、追加された順番でDOMが準備された時点で関数が実行されます。 jQuery 3.0以降、jQueryは、あるハンドラで発生した例外が、後で追加されたハンドラの実行を妨げないようにします。 - https://api.jquery.com/ready/

ので、ここでは、DOMの準備ができているときhttps://jsfiddle.net/e89gh5Lk/

  • document.readyはjQueryのイベントは、それが実行される作業のデモ、例えばですすべての要素は見つけられる/使用されるべきであるが、必ずしもすべての内容である必要はない。
  • window.onload火災後に(または最悪/失敗例で同時に)あなたは、例えば、画像のサイズを使用しているので、もし画像などは、ロードされている、あなたは、多くの場合、代わりにこれを使用します。
+1

おかげで、起こって何か他のものが存在する必要があります。)シンプルだけど(笑) –

+0

の作品@LenaLutherとしてそれをマークしてくださいチェックをクリックして正解:) – dyaa

+0

@dyaaこれは、私が1名の担当者に回答を与えることを迷惑にならない理由です。 – Chris