JQuery获取返回undefined的数据属性

chr*_*oes 0 html javascript jquery

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

$("#trucklist").click(function(event) {
    var scanID=$(event.target).data("scanID");
    alert(scanID);
});
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

Ami*_*oki 5

你正在瞄准ul.试试这个:

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

以上将针对trucklist孩子li并提醒你data.

另外,我建议你将属性的值包含在引号内.

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

演示