如果输入元素包含表行
Posted
技术标签:
【中文标题】如果输入元素包含表行【英文标题】:table row if input element consists 【发布时间】:2011-12-28 10:43:18 【问题描述】:有一个表格,如果至少包含一个 input
元素,我如何获得tr
(表格行)。
我试过了:
$('#tablename:contains(input)').closest('tr');
它不起作用。
【问题讨论】:
也许$('#tablename tr input').closest('tr')
【参考方案1】:
$('#tablename tr:has(input)')
就是你要找的。p>
阅读:has() selector。
:contains()
将查找简单文本,而:has()
将查找与选择器匹配的元素。
或者more efficient version:
$('#tablename tr').has('input')
阅读.has() filter function。
jsFiddle Demo
【讨论】:
不错!更进一步,我将如何检查输入的特定值? @Alex 我猜filter()
对你有用。【参考方案2】:
我认为你需要解释一下你想要做的更好一点。如果你发现了
$('#tablename').find(":input").val();
只有当你有一个输入时它才有效,也许你正在寻找的是这个:
$('#tablename').find(":input").each(function()
// Prints the value of each input.
alert($(this).val());
【讨论】:
OP 想要tr
s,没有输入:how I can get tr (table row)
。【参考方案3】:
怎么样
$('#tablename tr input').closest('tr')
【讨论】:
【参考方案4】:试试这个,
$('#tablename input').closest('tr');
【讨论】:
【参考方案5】:你可以用这个$('#tablename:has(input)').find('tr')
我希望你会觉得这很有用!
【讨论】:
【参考方案6】:这一定有帮助:
$('#tablename input').parentsUntil('tr');
【讨论】:
这将选择tr
和input
之间的所有内容,而不是tr
本身。以上是关于如果输入元素包含表行的主要内容,如果未能解决你的问题,请参考以下文章