Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取HTML正文中的所有元素_Javascript_Css_Arrays_Document Body - Fatal编程技术网

Javascript 获取HTML正文中的所有元素

Javascript 获取HTML正文中的所有元素,javascript,css,arrays,document-body,Javascript,Css,Arrays,Document Body,我试图编写一个Javascript函数来获取HTML正文中的所有元素。 我试过这样的方法: function getAllElements(){ let el = document.body.childNodes; for(var i=0; i<el.length; i++) { if(el[i].getAttribute("id") != "monkeyparentdiv" |

我试图编写一个Javascript函数来获取HTML正文中的所有元素。 我试过这样的方法:

function getAllElements(){
        let el = document.body.childNodes;
        for(var i=0; i<el.length; i++)
        {
            if(el[i].getAttribute("id") != "monkeyparentdiv" || el[i].getAttribute("id") != "monkeydiv"
            || el[i].getAttribute("id") != "monkeyspan1" || el[i].getAttribute("id") != "monkeyspan2")
            {
                el[i].classList.add("opacityformonkey");
            }
        }
}
长话短说,我想将所有元素的不透明度设置为0.3,但if条件中提到的元素除外。
但这给了我一个错误:

el[i].getAttribute is not a function.
我做错了什么?

返回所有类型的节点,包括没有属性的文本节点。你应该改用

另外,JavaScript代码为monkey添加类
opacityformonkey
(无连字符),但在CSS中,为monkey添加了
opacityformonkey
(带连字符)。

返回所有类型的节点,包括没有属性的文本节点。你应该改用


另外,JavaScript代码为monkey添加类
opacityformonkey
(无连字符),但在CSS中,您为monkey添加了
opacityformonkey
(带连字符)。

所有子节点可能不是一个元素。您还必须检查文本节点并将其排除。以下是代码的修改版本:

function getAllElements(){
    let el = document.body.childNodes;
    for(var i=0; i<el.length; i++){
        if (el[i].nodeType != Node.TEXT_NODE){
            if(el[i].getAttribute("id") != "monkeyparentdiv" || el[i].getAttribute("id") != "monkeydiv"
            || el[i].getAttribute("id") != "monkeyspan1" || el[i].getAttribute("id") != "monkeyspan2")
            {
                el[i].classList.add("opacityformonkey");
            }
        }
    }
}
函数getAllegements(){
设el=document.body.childNodes;

对于(var i=0;i所有子节点可能不是元素。您还必须检查文本节点并将其排除。以下是代码的修改版本:

function getAllElements(){
    let el = document.body.childNodes;
    for(var i=0; i<el.length; i++){
        if (el[i].nodeType != Node.TEXT_NODE){
            if(el[i].getAttribute("id") != "monkeyparentdiv" || el[i].getAttribute("id") != "monkeydiv"
            || el[i].getAttribute("id") != "monkeyspan1" || el[i].getAttribute("id") != "monkeyspan2")
            {
                el[i].classList.add("opacityformonkey");
            }
        }
    }
}
函数getAllegements(){
设el=document.body.childNodes;

对于(var i=0;i你能共享html部分的一部分吗?你的childNodes也将包含文本元素。它们没有id。因此你会得到那个错误。你能共享html部分的一部分吗?你的childNodes也将包含文本元素。它们没有id。所以你会得到那个错误。这很好。谢谢提醒。这很好很好,谢谢你的提醒。