在另一个元素中的Javascript中按名称获取深层元素

时间:2013-08-26 20:46:48

标签: javascript jquery html

我有一个包含多个div标签的HTML文档,例如

<div id="id1">
<table>
        <tr>
            <th>Name</th>
            <th>Serial</th>

        </tr>

        <tr>
            <td><input id="Param1" name="Group1" type="text" value ="0"/></td>
            <td><input id="Param2" name="Group1" type="text" value ="0"/></td>


        </tr>
        <tr>
            <td><input id="Param3" name="Group2" type="text" value ="0"/></td>
            <td><input id="Param4" name="Group2" type="text" value ="0"/></td>


        </tr>

    </table>

</div>

<div id="id2">

...
...

</div>

如何选择div id为“id1”的输入,并使用Javascript或jQuery创建名为“Group1”的输入ID数组?

5 个答案:

答案 0 :(得分:2)

使用jQuery,您可以使用descendantattribute equals选择器。

$("#id1 [name='Group1']");

使用普通的旧vanilla JavaScript而不使用querySelectorAll的任何库:

document.querySelectorAll("#id1 [name='Group1']");

Try it out on jsFiddle!

答案 1 :(得分:1)

你的意思是在div中输入id为id1的输入吗?如果是这样的话:

var inputs = $('#id1 input[name="Group1"]');

答案 2 :(得分:1)

你可以试试这个:

var inputs = $('#id1 input[name="Group1"]');

演示 here

答案 3 :(得分:1)

您可以使用find()执行此操作: DEMO HERE:

 var array = $('div#id1').find('input[name="Group1"]') ;

或使用这样的简单选择器:

var array = $('div#id1 input[name="Group1"]');

答案 4 :(得分:0)

你可以用jquery做,

var resultArray = $("div#id input[name='Group1']")

在javascript中,

document.getElementById("id1").getElementsByName("Group1")