在Jquery中获取自定义属性值?

时间:2014-10-29 13:08:56

标签: jquery attr

我有 html

<a data-overlay="Preparing First" href='#'>First link</a>
<a data-overlay="Preparing Second" href='#'>Second link</a>

JS

$("[data-overlay]").click(function () {
        var text = $(this).val($(this).attr("data-overlay"));
        alert(text);
    });

当我这样做的时候,我只有OBJECT,我错了?

这是工作小提琴

http://jsfiddle.net/sruq8kav/

我需要提醒那个自定义属性的值?

2 个答案:

答案 0 :(得分:11)

因为您正在警告.val()的结果(而且我不确定您为什么要使用它)这是一个jQuery对象 - 您只需要该属性:

var text = $(this).attr("data-overlay")
alert(text);

答案 1 :(得分:4)

除了tymeJV's answer之外,您还可以使用data-方法在jQuery中获取.data()个属性。

var text = $(this).data("overlay")
alert(text);

请注意,如果jQuery检测到该类型的数据,那么这样做会返回数字,布尔值或对象。您可以阅读有关here的更多信息。