我正在处理悬停的脚本。基本上我创建了一个div,它放在一个聊天框容器中,悬停在特定项目(在这种情况下,一个按钮)上,并在聊天框中显示一些文本。删除悬停后,文本将消失。
我还没有完全消失,但这并不是我需要帮助的。我正在使用hasAttribute函数来识别我新创建的Div。我遇到的问题是,如果我将鼠标悬停在我的按钮对象上,当我设置hasAttribute(“hovertext”)时,我会得到“它的错误”,但如果我将hasAttribute设置为“Class”,我会得到“它的真实” 。
我的程序使用多个创建/实例div,并且所有div都有类。所以只说“类”不会真正针对“hovertext”div。
hasAttribute是否有类命名的内容?像这样: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;
};
答案 0 :(得分:2)
在您的情况下,为了测试元素是否具有指定的类,您可以使用:
classList.contains( String ):检查元素的class属性中是否存在指定的类值。
var retVal = document.querySelector('p').classList.contains('hovertext');
console.log(retVal);

<p class="class1 class2 hovertext class3"></p>
&#13;
答案 1 :(得分:0)
Element.hasAttributes()方法返回布尔值,指示当前元素是否具有任何属性。
所以你可以通过id找到元素的属性。
示例
var elem = document.getElementById("element");
if (element.hasAttributes()) {
// do something with 'element.attributes'
}