javascript - ID 中具有跳过序列的动态控件

标签 javascript html

我正在使用 JavaScript 向 HTML 页面动态添加一些控件。可以说我有这个

ID   Name          Type                   Is Valid
     (TextBox)     (Select/DropDown)      (CheckBox)
---  ------------  ---------------------  ----------
1    txtName_1     ddlType_1              chkValid_1
2    txtName_2     ddlType_2              chkValid_2
3    txtName_3     ddlType_3              chkValid_3
4    txtName_4     ddlType_4              chkValid_4

现在我删除一些行(例如 ID 为 3 的行)并添加一些新行。新控件命名为(“txtName_”+“最后一行 ID”+ 1)。所以它可能会变成

ID   Name          Type                   Is Valid
     (TextBox)     (Select/DropDown)      (CheckBox)
---  ------------  ---------------------  ----------
1    txtName_1     ddlType_1              chkValid_1
2    txtName_2     ddlType_2              chkValid_2
4    txtName_4     ddlType_4              chkValid_4
5    txtName_5     ddlType_5              chkValid_5

现在我想在 for 循环中迭代这些控件(1 到“最后一行 ID”)以生成连接字符串。 如何在循环中跳过这些已删除的ID?

最佳答案

通过应用这篇 SO 帖子中的概念 How to check if element exists in the visible DOM ,可以在循环中按如下方式检查跳过编号的控件ID

var i;
for (i = 1; i <= lastRowID; i++;)
{
    var element =  document.getElementById('txtName'+i);
    if (typeof(element) != 'undefined' && element != null)
    {
        // control with this ID exists.
    } else {
        // control with this ID does NOT exist, SKIP it.
    }
}

关于javascript - ID 中具有跳过序列的动态控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33171473/

相关文章:

javascript - 谷歌计划 : Polymer & Angular

Javascript 获取 IE 中的滚动量

javascript - 仅在传单和电话间隙中将缩放限制为按钮

html - 删除代码中不可见的空格

javascript - 如何从本地文件夹(磁盘存储)读取或获取图像文件并使用nodejs服务器将其发送到Angularjs?

mysql - 将文件保存到 Coldfusion 中的服务器,存储在 CF 临时目录中而不是指定的目的地

html - Firefox 和 IE9 溢出时对滚动条的不同处理 :auto

javascript - Handlebars 自定义助手错误 : "options.fn is not a function"