如何使用JQuery获取数据属性?

时间:2014-07-14 03:20:00

标签: javascript jquery html5 custom-data-attribute

从这里Are empty HTML5 data attributes valid?

他们说数据属性可以是属性

所以我用它来测试,这个预期结果是真/假,但我只是未定义,如何使用jquery获得正确的结果?

<input type='checkbox' onclick='testDataProp(this)' data-tf>
<input type='checkbox' onclick='testDataProp(this)'>
function testDataProp(clickedBox)
{
    var trueFalse=$(clickedBox).prop('data-tf');
    alert(trueFalse);
}

1 个答案:

答案 0 :(得分:4)

使用.data()获取数据属性,如下:

function testDataProp(clickedBox)
{
    var trueFalse=$(clickedBox).data('tf');
    alert(trueFalse);
}

演示jsFiddle

<强>更新 您可以使用.hasData()进行检查,如下:

function testDataProp(clickedBox)
{
    var trueFalse=$.hasData(clickedBox); //returns false
    alert(trueFalse);
}

如果您想检查data-tf属性是否存在,那么您可以使用.hasAttribute()

function testDataProp(clickedBox)
{
    var trueFalse=$(clickedBox)[0].hasAttribute('data-tf'); //returns true for first and false for second checkbox
    alert(trueFalse);
}