jQuery选择的问题

时间:2010-12-06 14:30:43

标签: jquery jquery-selectors

我有以下标记:

<table class="dogs">
    <tr>
        <td> <input class="name"> </td>
        etc.

我正在尝试使用以下语句选择input元素:

$('table.dogs > input.name')

然而,我没有结果。我做错了什么?

6 个答案:

答案 0 :(得分:3)

我相信,当您应该寻找table的直接孩子时,您正在寻找td的直接孩子。尝试:

$('table.dogs td > input.name')

但在这种情况下你真的不需要>

答案 1 :(得分:2)

请改用此选择器:

$('table.dogs input.name')

通过这种方式,您选择的所有input类名为name,它们是table s的后代(而不是直接子项),类名为dogs

答案 2 :(得分:1)

jQuery('parent > child')选择由“parent”指定的元素“child”指定的所有直接子元素。

input.name不是table.dogs

的直接子女

你可以使用:

  • $('table.dogs td > input.name')
  • $('table.dogs input.name')

答案 3 :(得分:0)

摆脱“&gt;” $(“table.dogs input.name”)

答案 4 :(得分:0)

在你的情况下,正确的选择器将是table.docs > tbody > tr > td > input.name,因为除非手动指定TBODY / THEAD / TFOOT,否则所有表行都隐含在TBODY中。

简单地使用table.docs input.name选择器允许table.docsinput.name之间的任何元素。

答案 5 :(得分:0)

你应该使用像这样的其他选择器。

$('table.dogs .name');

子选择器(“父&gt;子”) 选择由“parent”指定的元素“child”指定的所有直接子元素。