如何转换它,使用两个调用两个children
:
$('#id tr').children('td').children('input')
进入只召唤一次儿童的东西?我正在尝试选择tr
的子项中特定表行(#id
)内的每个输入文本框。我试过了
$('#id tr').children('td input')
和
$('#id tr').children('td > input')
但这些都不奏效。我对这些选择器表达式不熟悉,很抱歉,如果它很明显。
答案 0 :(得分:6)
虽然我喜欢$("#id tr td input")
建议,但在某些情况下(例如,如果您拥有来自其他来源的$("#id tr")
对象),您可能会寻找.find()
,这会有多个级别深(而不只是.children()
只有一个):
$("#id tr").find("td input")
答案 1 :(得分:3)
为什么不只是$('#id tr input')
?
或者$('#id input')
答案 2 :(得分:1)
我很惊讶没有人建议这个:
$('td input', '#idc tr')
这将允许您从变量中获得#idc tr
部分。基本上你正在做的是连接;所以你首先阅读正确的选择器,然后是左边的选择器,例如:
$('> input', 'div')
相当于:
$('div > input')
现在,我们来这里打高尔夫吧;你传递选择器的方式可以简化为这两种形式:
$('input', '#idc td')
// vs
$('#id').find('td input')
两者基本上都是一样的,但是你可能已经注意到了,第二个允许你进行jquery链接;使用.end()
返回上一个选择器#id
。
每当我需要做一些不需要回到上一个选择器的简单的事情时,我通常会使用第一个语句。
答案 3 :(得分:-2)
你可以为你的输入设置一个类并选择它
$('#id tr').children('td:input').hasclass('class name')