gpt4 book ai didi

Javascript 无法从数组获取 document.getElementById ('cs' )

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

编辑:这就是我的代码当前的样子。它仍然不起作用。

<head>
<script>
window.onload = myload()
var ids[]
function myload() {
alert("hi")
ids = [document.getElementById('bs'),
document.getElementById('cs'),
document.getElementById('ds')
]

}

function border(){
ids[1].style.border = "9px";
}
</script>
</head>
<body> //elements definded here </body>
<小时/>

我正在尝试编写一个函数,以一定的间隔更改图像列表的边框。但是,我似乎无法让它发挥作用。我正在尝试执行以下操作:

<head>
<script>
var ids = [document.getElementById('a'),
document.getElementById('b'),
document.getElementById('c')]

function(x){
ids[x].border = "9px";
}
</script>
</head>
<body> //elements definded here </body>

但它没有运行。但是,当我运行时:

document.getElementById('a').border = "9px" 

它确实有效。我猜我没有从数组中正确调用它。我做错了什么?

编辑:在数组中修复了两次“a”。

最佳答案

在函数(x)出现之前回答原来的问题

  1. [1] 是 b,因为 JS 数组从 0 开始
  2. 我期望 style.border。
  3. 必须在对象渲染后定义数组。
    如果脚本标记中的数组位于具有 id 的元素之前a,b,c 存在那么你会得到等于[未定义,未定义,未定义]

window.onload = function() { // or addEventHandler OR put script before </body>
var ids = [document.getElementById('a'),
document.getElementById('b'),
document.getElementById('a')
]
ids[1].style.border = "9px solid black"; // the second element
}
<div id="a">A</div>
<div id="b">B</div>
<div id="c">C</div>

使用函数:

var ids=[]; // this is now global in scope

function setIt(idx) {
ids[idx].style.border = "9px solid black";
}

window.onload = function() { // or addEventHandler OR put script before </body>
ids = [document.getElementById('a'),
document.getElementById('b'),
document.getElementById('a')
]
setIt(1); // the second element
}
<div id="a">A</div>
<div id="b">B</div>
<div id="c">C</div>

修复代码

window.onload = myload; // removed ()
var ids=[]; // missing an equals

function myload() {
alert("hi")
ids = [document.getElementById('bs'),
document.getElementById('cs'),
document.getElementById('ds')
]
border();
}

function border() {
ids[1].style.borderWidth = "9px"; // just setting border is not enough
}
div { border: 1px solid red }
<div id="bs">A</div>
<div id="cs">B</div>
<div id="ds">C</div>

关于Javascript 无法从数组获取 document.getElementById ('cs' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52559976/

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