gpt4 book ai didi

javascript - 为什么链接和脚本标签不作为元素输入?

转载 作者:行者123 更新时间:2023-12-01 15:08:22 25 4
gpt4 key购买 nike

我认为从 document.getElementByIddocument.createElement 返回的每个元素实际上都是某个版本的 dom 元素,并且可以使用 找到该版本>类型。但是,我最近发现,当我尝试对 scriptlink 标签执行此操作时,情况并非如此。

jsFiddle Demo

html

<link id="l">
<script id="s">

js

var l = document.getElementById("l");
console.log(typeof l);//"object"
var s = document.getElementById("s");
console.log(typeof s);//"object"
var li = document.createElement("link");
console.log(typeof li);//"object"
var sc = document.createElement("script");
console.log(typeof sc);//"object"

为什么将这些元素类型化为对象?

最佳答案

它们是元素,您得到的结果与其他类型的元素相同。

试试这个:

var li = document.createElement("link");
console.log(li instanceof HTMLElement);

它记录 true 因为链接是 HTMLLinkElement 的一个实例这是 HTMLElement 的特化。

但是typeof简单地为大多数对象(“任何其他对象”)返回 "object"

您可以使用 getPrototypeOf 获取对象的类型:

console.log(Object.getPrototypeOf(li));

关于javascript - 为什么链接和脚本标签不作为元素输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112989/

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