2016-06-21 18 views
0

クリックされた要素の属性の値を検索しようとしています。すべての要素が動的に読み込まれます。現在の要素のJquery属性値

属性の値を取得できません。何が問題なのでしょうか?

<span title="cancel work" class="cancel" myid="111"><i class="fa fa-stop"></i> Stop work</span> 

$(document).on('click','.cancel',(function(){ 
    alert(this.attr("myid")); 
})); 

これは私が

オブジェクトが 'attrの'

+4

''キャンセル ''だけでなく' '.cancel''でなければなりません。申し訳ありませんタイプのため – Pointy

+0

。私は更新しました。 – Kurkula

+1

独自の属性を作成しないでください。代わりにカスタムデータ属性を使用してください。例: 'data-myid =" 111 "'あなたが修正した後に投稿したコードは、https://jsfiddle.net/j08691/ttc3surx/ – j08691

答えて

4

myidが有効なHTML属性ではありませんプロパティまたはメソッドをサポートしていません取得するエラーメッセージです。ほとんどの規則では、代わりにdata属性を実装することで、このようなカスタム属性を使用しています。例えば、data-myid

<span title="cancel work" class="cancel" data-myid="111"><i class="fa fa-stop"></i> Stop work</span> 

$(document).on('click','.cancel',(function(){ 
    alert($(this).data("myid")); 
})); 

お知らせ変化:

  • 私はjQueryのdataメソッドを使用して、その値を取得していますspan
  • data-myidを使用しています。
+2

'.attr()'関数は自分の属性の値を確実に取得します。私が質問に追加したコメントのjsfiddleリンクを見てください。 – Pointy

+0

私はそれが$(これ)であるべき問題を理解しました。私はこれを使いました。 – Kurkula

+0

データmyidとmyidの両方が同じだと思っていました。違いは何ですか? – Kurkula

関連する問題