gpt4 book ai didi

javascript - 两个数组类型合并到一个函数中

转载 作者:行者123 更新时间:2023-12-03 12:38:06 25 4
gpt4 key购买 nike

我有一个表单,您可以在其中单击一个按钮,并且需要更改一组元素的不透明度并选择单选按钮或复选框。我的表单中有很多这样的内容,因此我需要帮助来创建这种类型的数组。其中一些 ID 为 dp001、dp002 …。 dp050,因此当到达 dp010 时需要有一个条件在其上附加前缀。我想改变这个元素的不透明度集合。其他元素集合没有任何特定的顺序,但我想收集它们并检查它们。我在某个地方创建了一个 FUBAR :)

Fiddle 不起作用……真的让我很恼火,不知道为什么 jsfiddle 拒绝为我加载 javascript。 Is This Fiddle FUBAR?

在我的网络服务器上,警报工作正常,但没有执行我想要的操作。 Javscript works on my server check it out.

HTML

<div id="dp001">Item #1 <input type="radio" id="abc005"></div>
<div id="dp002">Item #2 <input type="radio" id="abc008"></div>
<div id="dp003">Item #3 <input type="checkbox" id="abc010"></div>
<div id="dp004">Item #4 <input type="checkbox" id="abc020"></div>
<div id="dp005">Item #5</div>
<div id="dp006">Item #6</div>
<div id="dp007">Item #7</div>
<div id="dp008">Item #8</div>
<div id="dp009">Item #9</div>
<div id="dp010">Item #10</div>
<div id="dp011">Item #11</div>
<button type="button" onclick="DoStuff();">Click</button>

JavaScript

  function DoStuff() {
var items = null;
var checkMe = ["abc005" , "abc0008" , "abc010" , "abc020"];
for (i=1 ; i < 12 ; i++) {
if (i < 10) {
items = 'dp00' + i;
} else {
items = 'dp0' + i;
}
}
alert("ding");
document.getElementById("items").style.opacity="0.5";
document.getElementById("checkMe").checked = true;

}

最佳答案

我认为你需要

function DoStuff() {
var checkMe = ["abc005" , "abc0008" , "abc010" , "abc020"];
for (var i=1; i < 12; i++) {
var items = 'dp0' + (i<10 ? '0' : '') + i;
document.getElementById(items).style.opacity = 0.5;
}
for (var i=0, l=checkMe.length; i<l; ++i)
document.getElementById(checkMe[i]).checked = true;
}

您的代码存在问题:

  • "items" 是一个文字字符串,而不是变量 items。与“checkMe”相同。
  • 您必须更改循环内部的每个元素,而不是外部。
  • 您没有声明变量i
  • 您可以使用三元条件来简化代码(可选)

关于javascript - 两个数组类型合并到一个函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23642771/

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