将属性名称作为选择器的问题

时间:2013-06-01 15:03:07

标签: javascript jquery jquery-selectors

在我的项目中,jQuery没有选择“clicked”元素。

这是我目前的代码:

$(function() {
    $('[data-sample_attribute]').click(function() {
        alert("sample text");
    });
});

我不知道如何解决它。

以下是我要选择的元素:

<div class="test" data-sample_attribute="test"></div>

2 个答案:

答案 0 :(得分:2)

也许它是一个动态元素,在DOM准备好后添加。在这种情况下,请使用委托:

    $(document).on('click','[data-sample_attribute]',function() {
        alert("sample text");
    });

答案 1 :(得分:1)

Your exact code works.

当您在外部文件中使用它时(如评论中所述),您的元素似乎在文档就绪中不存在,因此您需要向其添加委派事件(例如on)。

试试这个:

$('body').on("click", "[data-sample_attribute]", function() {
    alert("sample text");
});