Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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 如何使element.querySelector()包含根元素?_Javascript - Fatal编程技术网

Javascript 如何使element.querySelector()包含根元素?

Javascript 如何使element.querySelector()包含根元素?,javascript,Javascript,我处于一种独特的情况下,需要元素。querySelector(selector)对根元素本身进行测试,如果匹配,则返回它 你会怎么做 请注意,element.parentNode.querySelector(选择器)对我不起作用,因为它会与元素的同级发生冲突。您可以这样做 let matched = element.matches(selector) && element || element.querySelector(selector); 首先测试元素,考虑到.queryS

我处于一种独特的情况下,需要
元素。querySelector(selector)
对根
元素本身进行测试,如果匹配,则返回它

你会怎么做

请注意,
element.parentNode.querySelector(选择器)
对我不起作用,因为它会与
元素的同级发生冲突。

您可以这样做

let matched = element.matches(selector) && element || element.querySelector(selector);

首先测试元素,考虑到
.querySelector()的行为,这可能是有意义的。我不知道
匹配项
。我认为这个答案比所提到的问题的公认答案更优雅(因为这个问题被标记为重复)。@BartHofland。不管它值多少钱,如果波蒂在那里也加上这个答案,我会投赞成票。请点击我:)@Danielbowskypopeski链接副本的问题是它涉及到
.queryselectoral()
,所以它会有点混乱。@Teemu
.closest()
上升。@Teemu但是如果
.querySelector()
找到了匹配项,那么从那一点开始
.closest()
如果domapi中的
最接近的()
与jQuery类似,我想会返回找到的元素本身吗。