次のdivでは、divがクリックされたときに値= 12の値を取得するにはどうすればよいですか
<div value='12' id='div1'>some content</div>
$('#div1').live("click", function(a) {
alert(this.value);
alert($('#div1').val()); //doesnt work
});
次のdivでは、divがクリックされたときに値= 12の値を取得するにはどうすればよいですか
<div value='12' id='div1'>some content</div>
$('#div1').live("click", function(a) {
alert(this.value);
alert($('#div1').val()); //doesnt work
});
jquery attr()を使用する
一致した要素のセットの最初の要素の属性の値を取得するか、一致した要素ごとに 1 つ以上の属性を設定します。
これを試して
alert($('#div1').attr('value'));
また
$('#div1').on("click", function(a) {
alert($(this).attr('value')); //doesnt work
});
検証の問題が発生する独自の HTML 属性を使用しないようにすることができる場合は、html5 のデータ属性を選択することをお勧めします。これにより、このタイプのデータを保持するのに適した独自の属性を作成できます。例えば:
<div data-num="12" id="div1">some content</div>
$('#div1').on('click', function(){
alert($(this).data('num'));
});
$(document).on("click", '#div1', function(a) {
alert(this.attributes["value"].nodeValue);
alert(this.attributes["value"].value);
alert(this.getAttribute("value"));
alert($('#div1').attr("value"));
});
live()
は非推奨です。on()
代わりに使用してください
デモを見る
alert($('#div1').attr('value'));
トリックを行う必要があります。要素のすべての属性は、 jQuery.attr()を介して読み取りおよび設定できます。
jQuery.liveメソッドは非推奨 (v1.7) および削除 (1.9) されているため、デモに示されているように、代わりにjQuery.onを使用してください。