2011-11-14 41 views
1

有一个表格,我如何获得tr(表格行),如果至少包含一个input元素。如果输入元素包含表格行

我想这样的:

$('#tablename:contains(input)').closest('tr'); 

它不工作。

+1

也许'$( '#表名TR输入')最接近( 'TR')' – Thilo

回答

4
$('#tablename tr:has(input)') 

是你所期待的。

  • 阅读关于:has() selector

  • :contains()将查找简单文本,而:has()将查找与选择器匹配的元素。

还是more efficient version

$('#tablename tr').has('input') 
+0

不错!为了更进一步,我将如何检查输入的特定值? – Alex

+1

@Alex我猜'filter()'会对你有用。 – kapa

+0

谢谢!工作很棒:) – Alex

1

试试这个,

$('#tablename input').closest('tr'); 
2

如何

$('#tablename tr input').closest('tr') 
3

我认为你需要解释一下你正在试图做的好一点什么。如果您发现

$('#tablename').find(":input").val(); 

,当你有一个输入它只适用,也许你正在寻找的是这样的:

$('#tablename').find(":input").each(function() { 
    // Prints the value of each input. 
    alert($(this).val()); 
    } 
+0

OP希望'tr's,没有输入:'我怎么能得到tr(表格行)'。 – kapa

-1

您可以使用此$('#tablename:has(input)').find('tr')

我希望你会找到这个有用的!

+0

将选择每一行。 – kapa

-1

这一定帮助:

$('#tablename input').parentsUntil('tr'); 
+0

这将选择'tr'和'input'之间的所有内容,而不是'tr'本身。 – kapa

相关问题