JQuery获取返回undefined的数据属性

时间:2014-04-26 14:53:09

标签: javascript jquery html

我试图从点击的标签中获取data-scanID的值,并将其存储在名为scanID的变量中,但警报未定义。

$("#trucklist").click(function(event) {
    var scanID=$(event.target).data("scanID");
    alert(scanID);
});

html看起来像这样:

<ul id="trucklist">
    <li data-scanID=*somedata*>
        <ul>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
        </ul>
    </li>
    <li data-scanID=*somedata*>
        <ul>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
        </ul>
    </li>
    <li data-scanID=*somedata*>
        <ul>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
            <li>*stuff*</li>
        </ul>
    </li>
</ul>

1 个答案:

答案 0 :(得分:5)

您的目标是ul。试试这个:

$("#trucklist > li").click(function(event) {
    var scanID=$(this).data("scanID");
    alert(scanID);
});

上述内容将针对trucklist的孩子li并提醒您data

另外,我建议你将属性的值包装在引号中。

此外,数据属性不能包含大写字母。所以改变它们或它将无法工作。

Demo