gpt4 book ai didi

Javascript 函数 document.createElement(tagName[, options]) 不能按预期工作

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

我需要创建 <a href="http://someurl.com"></a>元素在一个js代码行中

这行不通:

var gg = document.createElement("a", {href : "http://someurl.com"})

结果为:<a is="[object Object]"></a>

思想 MDN 说: var element = document.createElement(tagName[, options]);

options 是一个可选的 ElementCreationOptions 对象。如果此对象已定义且具有 is属性(property),is创建的元素的属性使用此属性的值进行初始化。如果对象没有 is属性,值为空。 https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement

这个 ElementCreationOptions 对象是某种奇特的对象吗?我围绕这个对象尝试了许多不同的组合,但没有任何效果,结果总是我看到奇怪的 is属性(property)!我还在规范中找到了它:https://www.w3.org/TR/custom-elements/#attr-is但不知道它实际上是如何工作的。

附言:这也不起作用:

var gg = document.createElement("a").setAttribute("href" , "someurl.com")

结果未定义。

最佳答案

我知道这是一个(相对)古老的问题,@Luke-Weaver 的回答已经给出了涉及 jQuery 的路线,但以下是一个选项,既完成了@Garegin 最初要求的,同时仍然给他提供了他想在使用 vanilla JS 时从 createElement 方法的模糊参数名称中获取信息。

gg = Object.assign(document.createElement('a'),{href:'http://someurl.com',innerText:"Bonus points?"});

此解决方案创建 '<a href="http://someurl.com">Bonus points?</a>'在一条线上。它更长,因此以下内容可能效果更好:

function oneLineTag(tag,options){
return Object.assign(document.createElement(tag),options);
}
let quickAnchor = {
href:'http://someurl.com',
innerText: "I'm still answering a 3-year-old question"
}

现在您可以选择

gg = oneLineTag('a',quickAnchor);

关于Javascript 函数 document.createElement(tagName[, options]) 不能按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39251318/

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