获得元素的类铬

get element by class for chrome

本文关键字:元素      更新时间:2023-09-26

我正试图将此代码添加到chrome扩展中,以便在聊天框可用时提醒我。它在一个类名为shoutbox的div中,目前它不起作用。

function Detection(){
    if(document.getElementsByClassName("shoutbox")!=null){
      alert('Chat is available.')
    }
}
Detection();

更新的代码:页面加载和警告对话框永远不会出现。

function Detection(){
    if(document.getElementsByClassName("shoutbox").length > 0){
        alert('Chat is available.')
    }
}
window.onload = Detection;

== null不会检测到空数组(没有结果)。你可以写

if(document.getElementsByClassName("shoutbox").length > 0){
  alert('Chat is available.')
}

如果chatbox从一开始就不在页面上,后来才添加(这很容易检查-只需查看页面源代码),您可以监视DOMSubtreeModified事件,该事件将在对页面DOM进行任何修改时触发:

document.addEventListener('DOMSubtreeModified', function(e) {
    if(document.getElementsByClassName("shoutbox").length > 0){
        alert('Chat is available.')
    }
});

document.getElementsByClassName("shoutbox")返回一个元素数组,如果没有找到任何内容则返回一个空白数组。要查看元素是否存在,请检查数组的长度。

if(document.getElementsByClassName("shoutbox").length > 0){