将两个child()调用压缩为一个

| 我该如何转动呢?它使用两个呼叫两个
children
$(\'#id tr\').children(\'td\').children(\'input\')
变成只叫孩子一次的东西?我试图选择特定表行(
tr
)内的每个输入文本框,这些表行是
#id
的子级。我试过了
$(\'#id tr\').children(\'td input\')
$(\'#id tr\').children(\'td > input\')
但是这些都不起作用。我对这些选择器表达式有点陌生,所以很抱歉。     
已邀请:
尽管我喜欢ѭ6的建议,但在某些情况下(例如,如果您有其他来源的ѭ7的对象),您可能会改为寻找
.find()
,它深入了多个层次(而不是
.children()
只出现了一个):
$(\"#id tr\").find(\"td input\")
    
为什么不只是
$(\'#id tr input\')
? 或者
$(\'#id input\')
    
我很惊讶没有人建议这个:
$(\'td input\', \'#idc tr\')
这将使您可以从变量中获得
#idc tr
部分。基本上,您正在执行的是串联;因此,您先阅读右边的选择器,然后再阅读左边的选择器,例如:
$(\'> input\', \'div\')
等效于:
$(\'div > input\')
现在,让我们在这里打高尔夫。您传递选择器的方式可以简化为以下两种形式:
$(\'input\', \'#idc td\')
// vs
$(\'#id\').find(\'td input\')
两者基本上都做同样的事情,但是,您可能已经注意到,第二个允许您进行jquery链接;使用
.end()
返回上一个选择器
#id
。 我通常在需要做一些简单的事情而不需要回到上一个选择器时就使用第一条语句。     
U可以为您的输入设置一个类别并选择它
$(\'#id tr\').children(\'td:input\').hasclass(\'class name\')
    

要回复问题请先登录注册