我试图:target
在文档加载后使用伪类获取目标元素。我创建了以下示例来说明问题。
<!DOCTYPE html>
<html>
<head>
<script>
document.addEventListener("DOMContentLoaded",function(){
console.log(document.querySelector(":target"));
});
</script>
</head>
<body>
<div id="test"></div>
</body>
</html>
如果我加载test.html
,则控制台输出:
null
如果我test.html#test
在 Chrome 和 Opera 上加载,则控制台输出:
null
如果我test.html#test
在 Firefox 和 IE11 上加载,则控制台输出:
<div id="test"></div>
我的问题是:
- 哪些浏览器具有正确的行为?
- 调用的事件是否
DOMContentLoaded
正确querySelector(":target")
? - 文件加载后还有另一种获取目标元素的方法吗?
PS:我成功地解决了 Chrome 和 Opera 上的问题,setTimeout
但这不是一个好的解决方案。有人有更好的主意吗?
编辑:我发现与 JQuery 选择类似的问题:document.ready() 上的目标