【问题标题】:How to select all cell starting, containing or ending with some word with JQuery/CSS?如何使用 JQuery/CSS 选择所有以某个单词开头、包含或结尾的单元格?
【发布时间】:2015-12-20 19:59:15
【问题描述】:

我在表格中有一些这样的单元格,想用 JQuery 选择它吗?

例如:

<td>John Doe</td>
<td>John Doe1</td>
<td>1John Doe</td>

我要选择 - 从1 开始,包含Doe 并以1 结束。

我如何使用 Jquery?

【问题讨论】:

  • 是的,你可以;你有尝试过吗?你看过documentation吗?您拥有近2000名声望,并在这里工作了4年;您现在必须知道该网站的运作方式以及我们对您的期望?
  • 是的,例如在这个w3schools.com/cssref/css_selectors.asp
  • 我相信@DavidThomas 要求您付出一些努力并向我们展示您的尝试,以便我们凭良心帮助您解决问题,而不是为您解决问题。
  • 我不需要知道你读过什么来回答这个问题;我的意思是需要尝试一下。如果它不起作用,好的,再试一次;如果它仍然不起作用并且您不明白为什么,那么请:回到我们身边,向我们寻求帮助,向我们展示您的尝试。向我们展示您已尝试通过可靠的努力解决自己的问题。
  • 网上有很多很多关于如何过滤表格的例子。至少尝试一下

标签: javascript jquery html css


【解决方案1】:

您可以使用正则表达式。这两个正则表达式检查文本是否包含“John”(任何地方)并以“1”结尾:

$('#myTable').find('td').each(function() {
    var str = $(this).text();
    if (str.match("John") && str.match("1$") ) {
        $(this).css('background', 'red'); // ...or do something else with it.
    }
});

【讨论】:

  • 这是一个循环元素的想法,我在 XPath 中不擅长,我仍然认为我不能像这样 [name^="1"] 或 [name*="1" ] 或 [name$="1"] 喜欢用于属性,但用于文本但可能是不可能的。
  • 如果这就是你的意思,那么没有这样的 CSS 选择器。有一个想法,在某个时候,将它包含在 CSS3 中,但出于某种原因他们放弃了它。使用 jQuery,您可以检查任何标签是否包含特定文本,如 $('td:contains("John")'),但据我所知,它是否以特定字符/字符串结尾。
  • 感谢您的帮助,我使用 jQuery 完成了迭代代码,因为您建议我将匹配更改为搜索,因为它更快,并且在搜索之前添加了 600 毫秒的延迟 - 列表很长,所以它比延迟慢。今天我尝试在可见元素上面对 nth-child() 。在 css 中看起来还没有完成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-31
  • 1970-01-01
  • 2022-01-16
  • 2011-06-27
相关资源
最近更新 更多