gpt4 book ai didi

javascript - 元素没有方法 hasAttribute,为什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:17:46 25 4
gpt4 key购买 nike

我正在尝试从给定元素“向上”遍历 DOM 节点,以获取具有“动画”属性的第一个父元素。

var el = evt.target;
console.log(el);
while (!el.hasAttribute('animated'))
{ el = el.parentNode; }
return el;
console.log(el);

抛出错误:

>>>Uncaught TypeError: Object #<HTMLDocument> has no method 'hasAttribute'

这怎么可能?我已经清楚地声明了变量 el第一个日志是正确的。

最佳答案

document对象:

  • 是一个节点
  • parentNode根元素(如果您使用的是 <html> 元素的 HTML)
  • 不是一个元素。

只有元素才有属性,所以只有元素对象才有hasAttribute方法。

当您到达文档对象时(或当您不再测试某个元素时),您需要停止测试。

while (
el.nodeType === 1 &&
(!el.hasAttribute('animated'))
) {

关于javascript - 元素没有方法 hasAttribute,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10819230/

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