gpt4 book ai didi

Javascript:关于 elem.closest() 的逻辑

转载 作者:行者123 更新时间:2023-11-28 14:45:00 25 4
gpt4 key购买 nike

当我把多个tagNames和classNames放在elem.closest()的括号中时,如下

table.onclick = function(event) {  
let target = event.target.closest('.none-class,none-elem,td,.none-class2,none-elem2');
console.log(target);
}

即使除了“td”元素之外的类和标签不存在。它总是返回 'td' 元素。 据我了解“CSS选择器规则”,如果元素用逗号分隔,则表示“和”,因此它“选择所有元素”。而这里的逗号表示“或”。有人能告诉我“elem.closest()”的工作逻辑吗?

最佳答案

.closest()将搜索祖先并返回与选择器对应的第一个。

逗号表示或。所以你的选择器如下:

给我第一个祖先:

  • 具有“非类”类
  • 是一个自定义的 HTML 标签 <none-elem>
  • 是一个HTML标签<td>
  • 具有“none-class2”类
  • 是一个自定义的 HTML 标签 <none-elem2>

因此,您最近的祖先对应于您的选择器中的第三条规则。

如果你想用AND写一个选择器,你必须写成类似td.none-class2的东西或 none-elem.none-class .注意点前没有空格

关于Javascript:关于 elem.closest() 的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52400684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com