将两个 child() 调用压缩为一个
如何将使用两次调用两个 children
: 的方法转换
$('#id tr').children('td').children('input')
为仅调用一次 child 的方法?我试图选择特定表行 (tr
) 内的每个输入文本框,该表行是 #id
的子级。我已经尝试过了
$('#id tr').children('td input')
,
$('#id tr').children('td > input')
但这些都不起作用。我对这些选择器表达式有点陌生,如果它很明显,我很抱歉。
How do I turn this, which uses two calls two children
:
$('#id tr').children('td').children('input')
into something that calls children only once? I am trying to select every input text box inside a particular table row (tr
) that's a child of #id
. I've tried
$('#id tr').children('td input')
and
$('#id tr').children('td > input')
But neither of those work. I'm kinda new to these selector expressions, so sorry if it's obvious.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
虽然我喜欢
$("#id tr td input")
建议,但在某些情况下(例如,如果您有来自某些的$("#id tr")
对象其他来源)您可能会寻找.find()
,其中深入多个级别(而不是仅深入一层的.children()
):Although I like the
$("#id tr td input")
suggestions, in some cases (e.g. if you had the$("#id tr")
object from some other source) you might instead be looking for.find()
, which goes multiple levels deep (instead of.children()
which only goes one):为什么不只是
$('#id tr input')
?或者也许
$('#id input')
Why not just
$('#id tr input')
?Or maybe
$('#id input')
我很惊讶没有人建议这个:
这将允许您从变量中获得
#idc tr
部分。基本上你所做的就是进行串联;因此,您首先阅读右侧的选择器,然后阅读左侧的选择器,例如:相当于:
现在,让我们在这里打高尔夫球;您传递选择器的方式可以简化为这两种形式:
两者基本上都是相同的,但是正如您可能已经注意到的,第二种允许您进行 jquery 链接;使用
.end()
返回到上一个选择器#id
。每当我需要做一些简单的事情而不需要返回到上一个选择器时,我通常会使用第一个语句。
I'm amazed no one suggested this one:
Which will allow you to have the
#idc tr
part from a variable. Basically what you're doing is doing a concatenation; so you read the right selector first, and then the left one, for instance:Is the equivalent of:
Now, lets do some golf here; the way you're passing the selector could be simplified to this two forms:
Both basically do the same, however as you may have noticed, the second one allows you to do jquery chaining; using
.end()
to go back to the previous selector#id
.I usually use the first statement whenever I need to do something simple that doesn't require me going back to the previous selector.
您可以为输入设置一个类并选择它
$('#id tr').children('td:input').hasclass('class name')
U can set a class for your inputs and select it
$('#id tr').children('td:input').hasclass('class name')