我想通过jquery获得自定义属性的值。我用这段代码来做但是在控制台中它显示"undefined":
var correct = $("div").data("correct");
这是html:
<div data-correct="@classCorrect.Answer">....</div>
同样,我使用了"attr"这样做,但这也是一样的,并显示了"未定义"。我不想用&;id&;对于选择器。我希望它显示3,因为它在"@classCorrect.Answer"
如果使用较新的jQuery>= 1.4.3,请使用.data()
,并且data-后面的部分必须是小写的,例如data-idnum不能工作,但data-idnum可以。
使用attr
:
var correct = $("div").attr('data-correct');
我相信你的html中有几个div,所以你必须首先为你的div指定id:
<div id="correctAnswer" data-correct="@classCorrect.Answer">....</div>
之后,您可以使用.attr:
获取数据属性值
var correct = $('#correctAnswer').attr('data-correct');
或者如果你使用较新的jQuery>= 1.4.3,你可以试试。data
var correct = $('#correctAnswer').data('correct');
如果有带有data-correct
属性的服务器div,您应该给它们相同的class
或name
等:
<div class="test" data-correct="1">A</div>
<div class="test" data-correct="2">B</div>
<div class="test" data-correct="3">C</div>
当您使用类或名称选择器时,结果是这些元素的数组,您应该遍历它以获得每个元素,然后获得其属性值。
$(function () {
var datalist = $(".test");
$.each(datalist, function (i,value) {
console.log($(value).data('correct'));
})
})