JQuery正在获取返回未定义的数据属性

JQuery getting a data attribute returning undefined

本文关键字:未定义 数据属性 返回 获取 JQuery      更新时间:2023-09-26

我正试图从单击的标记中获取数据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>

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

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

以上内容将针对trucklist的子li,并提醒您其data

此外,我建议您将属性的值用引号括起来。

此外,数据属性不能包含大写字母。因此,改变它们,否则将不起作用。

演示