javascript - $(event.target.id).attr ("class") 返回未定义

标签 javascript jquery html

我试图通过集合的类名获取给定集合中的任何元素。

我有一个(有效的)函数,它在上传新元素时将它们附加到集合中(忽略第一位,附加在末尾):

function sortMaps(returnString) {
    returnArray = returnString.split(",");
    imageCount = parseInt(returnArray[0]);
    for (i = 0; i < imageCount; ++i) {
        MapObject = {
            id: returnArray[i+1],
            url: returnArray[i+imageCount+1],
            name: returnArray[i+(imageCount*2)+1],
            coordString: returnArray[i+(imageCount*3)+1],
            width: returnArray[i+(imageCount*4)+1],
            height: returnArray[i+(imageCount*5)+1]
        };

        mapArray[i] = MapObject;
        $("#mapList").append("<li id=\"" + i + "dropdownMap\" class=\"dropdownMap\">" + mapArray[i].name + "</li>");
    }
}

还有另一个函数,作为测试人员,打印出我单击的任何元素的 id 和类:

$(document).click(function (event) {
    console.log(event.target.id);
    console.log($(event.target.id).attr("class"));
});

我要附加内容的 HTML 如下所示:

<div id="mapperMenu">
    <div class="mapmakerDropdown">
        <button>Maps</button>
        <div class="mapmakerDropdownOptions">
            <ul id="mapList">APPENDED ELEMENTS APPEAR HERE</ul>
      </div>
    </div>
    <form action="returnMapmaker.php" method="post">
        <input type="submit" class="button" value="Save">
    <form>
</div>

当我单击附加的列表元素之一时,ID 出现并且是正确的,但类未定义(尽管它确实出现在我的 Firefox 检查器的 HTML 中)。所以我来这里是因为我不太确定为什么会发生这种情况。

感谢任何帮助!如果您需要更多信息,请告诉我:)

最佳答案

ID 选择器以 # 开头。

console.log($( '#' + event.target.id ).attr("class"));
//             ^^^

或者如上面评论中所述,直接在元素 e.target 上调用 jQuery:

console.log($( event.target ).attr("class"));

关于javascript - $(event.target.id).attr ("class") 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846636/

相关文章:

javascript - 谷歌分析标记

javascript - mongoose 与 then 和 catch 链接

javascript - 如何显示来自带有特殊字符的资源的消息?

jquery - ReCAPTCHA找不到用户提供的函数: myCallBack

javascript - 如何汇总 .each 循环的结果?各个 list 卡的 list 板总数

jquery - 单击时淡出父级 li

html - Bootstrap 列以中等宽度与另一列重叠

C# asp.net 按钮单击事件中的 JavaScript 函数不起作用

javascript - .select() 函数在 iOS 设备上不起作用

javascript - 如何将 JSON 中的数据显示到 html 表中