Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 选择不是任何元素父级的每个元素_Javascript_Css Filters - Fatal编程技术网

Javascript 选择不是任何元素父级的每个元素

Javascript 选择不是任何元素父级的每个元素,javascript,css-filters,Javascript,Css Filters,我正在开发一款游戏,通过使用CSS过滤器,在某些时候会出现问题:invert1;所有物然而,当您在body上使用该属性时,它会使所有内容都处于“绝对”位置;。这是不好的,因为我需要大多数元素被固定,并且所有的元素都是负的,不可见的。如何有效地获取列表中的所有元素,这些元素不是任何其他元素的父元素,但如果列表中有文本,则包含这些元素?任何答案或其他堆栈溢出主题都很好! 以下是我的一些代码: // In a working loop called Repeat() if(Glitch == 1) {

我正在开发一款游戏,通过使用CSS过滤器,在某些时候会出现问题:invert1;所有物然而,当您在body上使用该属性时,它会使所有内容都处于“绝对”位置;。这是不好的,因为我需要大多数元素被固定,并且所有的元素都是负的,不可见的。如何有效地获取列表中的所有元素,这些元素不是任何其他元素的父元素,但如果列表中有文本,则包含这些元素?任何答案或其他堆栈溢出主题都很好! 以下是我的一些代码:

// In a working loop called Repeat()
if(Glitch == 1) {


    document.querySelector(".ChangableStyles").innerHTML = "* {filter: invert(1)}"


} else  {

    document.querySelector(".ChangableStyles").innerHTML = ""

}

编辑:由于所有人都在询问,.ChangableStyles标记是一个样式元素。当我将该样式标记的innerHTML更改为有效的CSS样式时,所有内容上的过滤器都会应用。我不想粗鲁,但我已经解决了这个问题。谢谢。

您提到您已经有一个元素列表,但不清楚您是如何生成该列表的。我假设您希望选择中没有任何子元素的所有元素

您可以使用Array.from、预先存在的选择逻辑和使用node.childElementCount==0的过滤器的组合来完成所描述的内容。然而,在更高复杂度的DOM上,这将在计算上非常昂贵,因此我恳请您重新考虑您的设计,而不是选择此路线。明确地说,这将满足您的要求,即选择DOM中没有子元素的任何节点,而不是任何其他元素的父节点,其中包括任何脚本、样式或主体中其他用户不可见的节点

document.getElementById'get-elements-button'.addEventListener'click',函数{ console.logArray.fromdocument.body.getElementsByTagName*.filterfunction节点{ return node.childElementCount==0; }; };
获取包含子元素的元素→欢迎来到堆栈溢出。所以不是免费的代码编写服务;如果包含您用来尝试解决手头问题的代码,以及您在尝试中遇到的具体问题,将会很有帮助。另见:谷歌会给你。其余部分不清楚。@RokoC.Buljan我也需要它来选择带有文本的元素。很难知道你在这里想做什么。向innerHTML添加字符串不会影响样式。@jmargolisvt是正确的,您正在查询已具有ChangeableStyles类的元素,并将这些节点中的HTML设置为CSS规则的文本表示形式。您在上面的代码片段中所做的并不是您所期望的——您确实应该重新审视您的基本JavaScript概念。