【问题标题】:Get all input fields inside div (without JS library)获取 div 内的所有输入字段(不带 JS 库)
【发布时间】:2011-04-04 22:02:43
【问题描述】:

在不使用 jQuery 之类的 javascript 库的情况下获取 div 中的所有输入字段的最简单方法是什么? 类似于这个 jQuery sn-p:

var inputs = $('#mydiv :input');

【问题讨论】:

    标签: javascript textinput


    【解决方案1】:
    document.getElementById('mydiv').getElementsByTagName('input')
    

    【讨论】:

      【解决方案2】:

      querySelectorquerySelectorAll 将轻松获取您期望的详细信息。

      var divElem = document.getElementById("myDiv");
      var inputElements = divElem.querySelectorAll("input, select, checkbox, textarea");
      

      它将以数组格式给出所有输入、选择、文本区域元素。

      【讨论】:

      • 你不需要“复选框”——它是一个“输入”元素。除非这应该是公认的答案,因为 Roy Sharon 的答案不包括文本区域和选择列表。
      【解决方案3】:

      试试:

      var inputs = document.getElementById('mydiv').getElementsByTagName('input');
      

      【讨论】:

        【解决方案4】:

        如果您使用的是现代浏览器 (ie9+),则可以使用 querySelectorAll‎

        var inputs = document.querySelectorAll‎('#myDiv input');
        

        或者如果你已经有了这个div,你可以直接使用它

        var inputs = myDiv.querySelectorAll('input');
        var inputs = myDiv.getElementByTagName('input');
        

        两者都可以。要序列化,您可以在输入后执行此操作

        var values = {}
        for (const input of inputs){
           values[input.name] = input.value
        }
        

        【讨论】:

          【解决方案5】:

          【讨论】:

            【解决方案6】:
            document.getElementById("mydiv").getElementsByTagName("input");
            

            【讨论】:

            • 我可以序列化这个inputs吗?
            猜你喜欢
            • 1970-01-01
            • 2017-11-27
            • 2015-07-13
            • 1970-01-01
            • 2018-03-26
            • 1970-01-01
            • 1970-01-01
            • 2013-02-06
            相关资源
            最近更新 更多