【发布时间】:2016-05-06 01:12:04
【问题描述】:
我似乎无法访问 HTMLDivElement 的 classList,这让我有些困惑。下面是相关的js代码...
var thisDropTarget = document.getElementById(dropTargetId);
console.log("document.getElementById(draggedId) = "+document.getElementById(draggedId));
console.log("document.getElementById(draggedId).classList = "+document.getElementById(draggedId).classList);
document.getElementById(draggedId).classList.remove("dragged");
第一个 console.log 说 document.getElementById(draggedId) 是一个 [object HTMLDivElement]。第二个 console.log 说对象的 classList 是未定义的。下一行抛出错误,说它是“无法获取未定义或空引用的属性'删除'”。
在其他地方,在 mousemove 处理程序中,我检查拖动的元素是否确实有一个类(它具有“拖动”类)。
任何想法为什么会发生这种情况?
【问题讨论】:
-
当然,我只是在询问后找到了解决方案。我一直在检查我的项目,从开发人员工具中模拟 IE8,当我将它测试为“边缘”时它可以工作。我猜 IE8 不支持 .classList - 对吗?
-
检查caniuse.com/#feat=classlistIE8和IE9不支持
-
你应该发布你的答案,以免别人不得不问同样的问题:)
标签: javascript css getelementbyid