问题描述
我正在尝试通过在脚本标签外部声明的JS数组使用href和innerHTML创建3链接。我不确定如何将数组传递到script标签并用于创建自定义元素。 这是我的JS数组
let linkArr = [
{
"name": "A sample URL","url": "https://asampleurl.com"
},{
"name": "Another sample URL","url": "https://anothersampleurl.com"
},{
"name": "A final sample URL","url": "https://afinalsampleurl.com"
}
]
这是我正在尝试的 '''
<script link1Name=this.links[0].name,link1Href= this.links[0].url>
var a = document.createElement("a");
var link1Name = document.currentScript.getAttribute('link1Name');
var text = document.createTextNode(link1Name);
a.appendChild(text);
a.href = link1Href ;
var element = document.getElementById("links");
element.appendChild(a);
</script>
'''
解决方法
首先,不确定您要在这里做什么:
id
但是,那不是有效的HTML。您应该只有:<script link1Name=this.links[0].name,link1Href= this.links[0].url>
不过,要回答您的问题,如果<script> ... </script>
是全局声明的,而不是在其他函数或本地范围的代码中声明的,则只要您的脚本标记位于后面,您就应该能够在文档的其他任何地方引用它。这是宣言。如果linkArr
在全局声明,则将在linkArr
上可用。您可以通过在浏览器的控制台中进行window
或console.log(linkArr)
来轻松地对此进行测试。
最后,假设您可以在console.log(window.linkArr)
上访问该数组,则可以从该数组创建链接,
window