javascript - 指定元素 ID 的正确 javascript 语法是什么?

标签 javascript html

我有一堆用户输入要从 javascript 中存储。我喜欢循环遍历一些计数器,因为它存储输入而不是一次分配一个。这是指定元素 ID 的正确语法吗?它在这一点上对我不起作用并提示例如 catMaxInput: [Exception: ReferenceError: catMaxInput is not defined]

var catInput = [], catMaxInput = [], catCostSFHR = [],  catOccHRStart=[], catOccHREnd =[];
        var z = 1;
        for (var i=0; i<3; i++){
            catMaxInput[i] = (Math.round(parseFloat(document.getElementById("cat\"" + z + "\"Max").value))); 
            z++;
        }

        for (var c=0; c<3; c++){
            catTotalArea[c] = (Math.round(parseFloat(document.getElementById("cat\"" + z + "\"TotalArea").value)));
            z++;
        }

目前是这样的形式:

<tr>
          <td>CAT 1</td>
          <td><input name="data1Max4" type="text" id="cat1Max" value="20" /></td>
          <td><input name="data1Max7" type="text" id="cat1TotalArea" value="50,000 SF" /></td>
          <td><input name="data1Max10" type="text" id="cat1CostSFHR" value="$ 100.00" /></td>
          <td><input name="data1Max13" type="text" id="cat1OccHRStart" value="6:00am" /></td>
          <td><input name="data1Max16" type="text" id="cat1OccHREnd" value="12:00pm" /></td>
        </tr>
        <tr>
          <td>CAT B</td>
          <td><input name="data2Max5" type="text" id="cat2Max" value="70" /></td>
          <td><input name="data2Max8" type="text" id="cat2TotalArea" value="20,000 SF" /></td>
          <td><input name="data2Max11" type="text" id="cat2CostSFHR" value="$ 50.00" /></td>
          <td><input name="data2Max14" type="text" id="cat2OccHRStart" value="12:00pm" /></td>
          <td><input name="data2Max17" type="text" id="cat2OccHREnd" value="8:00pm" /></td>
        </tr>
        <tr>
          <td>CAT C</td>
          <td><input name="data3Max6" type="text" id="cat3Max" value="100" /></td>
          <td><input name="data3Max9" type="text" id="cat3TotalArea" value="30,000 SF" /></td>
          <td><input name="data3Max12" type="text" id="cat3CostSFHR" value="$ 0.00" /></td>
          <td><input name="data3Max15" type="text" id="cat3OccHRStart" value="8:00pm" /></td>
          <td><input name="data3Max18" type="text" id="cat3OccHREnd" value="6:00am" /></td>
        </tr>

最佳答案

"cat\""+ i +"\"Max" 的结果是一个字符串,其值为 i 介于 ".

您可能需要它是 "cat"+ i +"Max"

您正在转义并在不需要的地方添加双引号。

var catInput = [], catMaxInput = [], catCostSFHR = [],  
                                             catOccHRStart=[], catOccHREnd =[];

for (var i=0; i<3; i++){
  catMaxInput[i] = (Math.round(parseFloat(
                            document.getElementById("cat" + i +"Max").value))); 
}

for (var c=0; c<3; c++){
  catTotalArea[c] = (Math.round(parseFloat(
                      document.getElementById("cat" + c+  "TotalArea").value)));
}

关于javascript - 指定元素 ID 的正确 javascript 语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11889513/

相关文章:

html - 使用滚动效果移动背景

javascript - react : Add highlighted border around selected image

javascript - 如何使用 html input required 属性来使一组输入中的一个成为必需的?

javascript - 当所选选项禁用时禁用按钮提交

javascript - onClick Action 在加载页面时立即触发

javascript - 从数组中获取最后单击项目的值

firefox - 如何获取具有多个来源的视频的 src?

javascript - 从另一个 javascript 文件调用 javascript 函数并收到引用错误和无效状态错误以及 Atom IDE 内的一些警告

Javascript Date.parse 在黑莓浏览器中返回 NaN

javascript - 在 Chrome/IE11/Firefox 中的隐藏空字段中设置值