【问题标题】:table row if input element consists如果输入元素包含表行
【发布时间】:2011-12-28 10:43:18
【问题描述】:

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

我试过了:

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

它不起作用。

【问题讨论】:

  • 也许$('#tablename tr input').closest('tr')

标签: jquery jquery-selectors dom-traversal


【解决方案1】:
$('#tablename tr:has(input)')

就是你要找的。​​p>

  • 阅读:has() selector

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

或者more efficient version

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

【讨论】:

  • 不错!更进一步,我将如何检查输入的特定值?
  • @Alex 我猜filter() 对你有用。
【解决方案2】:

我认为你需要解释一下你想要做的更好一点。如果你发现了

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

只有当你有一个输入时它才有效,也许你正在寻找的是这个:

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

【讨论】:

  • OP 想要trs,没有输入: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');
        

        【讨论】:

        • 这将选择trinput 之间的所有内容,而不是tr 本身。
        猜你喜欢
        • 2021-04-01
        • 2011-05-14
        • 1970-01-01
        • 1970-01-01
        • 2019-12-31
        • 2015-08-30
        • 2010-12-10
        • 1970-01-01
        • 2011-07-05
        相关资源
        最近更新 更多