gpt4 book ai didi

javascript - style.display 为 null - 尝试遍历数组并更改显示属性

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:45 24 4
gpt4 key购买 nike

我的另一个新手问题。

只是检查我下面的代码是否可行。即创建一个由“document.GetElementById”组成的新数组。由于我是 javascript 的新手,我的代码通常有点冗长,所以请原谅我的困惑。

下面的代码显示错误“style.display”为“null”或不是对象。任何人都可以看到任何明显的我遗漏或做错的事情吗?

function Test(){

if(document.getElementById('inClient').value !=="FormViewer"){

var visible =new Array("document.getElementById('personal2').value","document.getElementById('change_hours2').value");
var change = new Array("document.getElementById('personal').value","document.getElementById('change_hours').value");

for (var i=0; i <visible.length; i++) {
if(visible[i]!==""){
change[i].style.display = "block"
}
}
}
}

基本上,如果隐藏字段('personal2' 等)为空,我希望 div/部分('personal' 等)保持隐藏状态,但如果它包含文本,那么我想显示该部分。

提前致谢

最佳答案

您正在向数组中添加字符串而不是对 DOM 元素的引用。删除引号和 value 属性,它将起作用。您必须在迭代中检查 value

function Test(){

if(document.getElementById('inClient').value !=="FormViewer"){

var visible =new Array(document.getElementById('personal2'), document.getElementById('change_hours2'));
var change = new Array(document.getElementById('personal'), document.getElementById('change_hours'));

for (var i=0; i <visible.length; i++) {
if(visible[i].value != ""){
change[i].style.display = "block"
}
}
}
}

关于javascript - style.display 为 null - 尝试遍历数组并更改显示属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6409033/

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