hasAttribute 函数是否允许属性的 ID 或名称?

Does the hasAttribute function allow the ID or Name of the attribute?

我正在编写悬停脚本。基本上我创建了一个 div ,当鼠标悬停在特定项目(在本例中是一个按钮)上时,它会被放入聊天框容器中,并在聊天框中显示一些文本。移除悬停后,文本将消失。

我还没有完全理解消失的部分,但这并不是我需要帮助的部分。我正在使用 hasAttribute 函数来识别我新创建的 Div。当我设置 hasAttribute("hovertext") 时,问题 I"m running into is, that if I hover over my button object, I get "its false",但是如果我将 hasAttribute 设置为 "Class",我得到 "its true"。

我的程序使用了多个创建的/实例div,它们都有class。所以只是说 "class" 并不会真正针对 "hovertext" divs。

hasAttribute 是否有类似 class 命名的内容?像这样: hasAttribute("class:hovertext")?

function hoverMessage(message) {
    var chatbox = dom.el("chatbox");
    var div = document.createElement("div");
    // chatbox.appendChild(div).textContent = message;
    chatbox.appendChild(div).innerHTML = message;
    chatbox.setAttribute("class", "chatboxtext");
    div.setAttribute("class", "hovertext");

    if (div.hasAttribute("class"))
    {
        console.log("its true");

    }
    else {
        console.log("its false");
        console.log(div);
    }
    chatbox.scrollTop = chatbox.scrollHeight;   
};

Element.hasAttributes()方法returns布尔值,表示当前元素是否有属性。

所以你可以通过id找到一个元素的属性。

示例

var elem = document.getElementById("element"); 
if (element.hasAttributes()) { 
    // do something with 'element.attributes'
}

在您的情况下,为了测试元素是否具有指定的 class,您可以使用:

classList.contains( String ): Checks if specified class value exists in class attribute of the element.

var retVal = document.querySelector('p').classList.contains('hovertext');
console.log(retVal);
<p class="class1 class2 hovertext class3"></p>