3

在以下 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


});
4

4 回答 4

5

使用 jquery attr()

获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性。

试试这个

 alert($('#div1').attr('value')); 

或者

$('#div1').on("click", function(a) {

   alert($(this).attr('value'));  //doesnt work
});
于 2013-01-22T07:25:08.530 回答
1

如果您可以避免使用自己的 HTML 属性,则会遇到验证问题,更好的选择是 html5 的数据属性。这使您可以创建自己的属性来保存此类数据。例如:

<div data-num="12" id="div1">some content</div>

    $('#div1').on('click', function(){
       alert($(this).data('num'));
    });

http://api.jquery.com/jQuery.data/

于 2013-01-22T07:45:45.230 回答
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()改用

演示

于 2013-01-22T07:24:55.033 回答
0
alert($('#div1').attr('value'));

应该做的伎俩。可以通过jQuery.attr()读取和设置元素的所有属性

工作演示

jQuery.live方法已弃用(v1.7)并已删除(1.9),因此请使用jQuery.on代替,如演示中所示。

于 2013-01-22T07:25:00.970 回答