在下面的div中,如何在单击div时获得value = 12值
<div value='12' id='div1'>some content</div>
$('#div1').live("click", function(a) {
alert(this.value);
alert($('#div1').val()); //doesnt work
});
答案 0 :(得分:5)
使用jquery attr()
获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性。
试试这个
alert($('#div1').attr('value'));
OR
$('#div1').on("click", function(a) {
alert($(this).attr('value')); //doesnt work
});
答案 1 :(得分:1)
如果您不能使用自己的HTML属性,则会遇到验证问题,html5的数据属性会有更好的选择。这允许您创建自己的属性,以便保存此类数据。例如:
<div data-num="12" id="div1">some content</div>
$('#div1').on('click', function(){
alert($(this).data('num'));
});
答案 2 :(得分:0)
$(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()
参见 DEMO
答案 3 :(得分:0)
alert($('#div1').attr('value'));
应该做的伎俩。可以通过jQuery.attr()
读取和设置元素的所有属性{@ 3}}方法已弃用(v1.7)并已删除(1.9),因此请使用jQuery.live代替,如演示所示。