javascript - JQuery 获取返回未定义的数据属性

标签 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>

最佳答案

您正在定位 ul。试试这个:

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

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

此外,我建议您将属性的值括在引号内。

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

Demo

关于javascript - JQuery 获取返回未定义的数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312541/

相关文章:

javascript - Vue.js:如何连接 v-model 值

javascript - 从跨度到跨度遍历按钮

javascript - 如何使用 jQuery 和 Galleria 更新 HTML 元素?

javascript - 如果输入包含至少一个字符

html - 如何在html5的TextBox中自动在4位数字后插入连字符 "-"?

javascript - dat.gui 如何用代码隐藏菜单

javascript - 从 Safari iPad 中的 html5 Web 应用程序上传音频文件

jquery - 按钮点击计数-重置和重复

html - 使用 CSS 设计损坏的图像替代文本

javascript - 仅内联处理程序有效