选择 TD 文本包含 foo 的任何 TR
我很确定这可以在不进入函数的情况下完成,但我想抓取任何有 Mail ...
或 < ;td>Foo ...
作为示例。
我一直认为它应该看起来像
$('tr[./text()^="foo"]')
但 chrome 不喜欢它。 或 $('tr[./td/text()^="Mail"]')
但没有运气 这可以用一个简单的选择器来完成吗?
I'm pretty sure this can be done without going into a function but I want to grab any TR where there is a <td>Mail ...</td>
or <td>Foo ... </td>
as examples.
I keep thinking it should look like
$('tr[./text()^="foo"]')
but chrome doesn't like it.
or $('tr[./td/text()^="Mail"]')
but no luck
can this be done with a simple selector?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我很惊讶没有人提出这个问题,也许我的问题太模糊了。
打算将其设为书签,用于为 dk 或 pally 搜索盔甲和武器
I'm quite surprised no one came up with this, maybe my question was too vague.
Going to make it a bookmarklet for searching for armor and weapons for a dk or pally
一种可能的解决方案:
您必须使用
.filter()
来处理元素的文本(您不能使用选择器执行此操作,至少不能按照您想要的方式执行此操作)和.closest()
应该是自我解释的。编辑:但这可能会多次选择
元素。我实际上不知道 jQuery 如何处理这个问题。另一种解决方案是使用两个嵌套的
filter
(在tr
和td
上,但不知怎的,这感觉效率很低)。Edit2:从版本1.4.4开始,jQuery似乎足够聪明,可以处理同一元素的多次出现(即它像一个集合一样工作)。 DEMO在这里(如果你改成1.4.2版本,你会看到第一行被选择两次)。
One possible solution:
You have to use
.filter()
to work on the element's text (you can't do this with a selector, at least not the way you want to) and.closest()
should be self explaining.Edit: But this could select a
<tr>
elements multiple times. I actually don't know how jQuery handles this. Another solution would be to use two nestedfilter
s (ontr
and ontd
but somehow this feels inefficient).Edit2: From version 1.4.4 on, jQuery seems to be smart enough to deal with multiple occurances of the same element (i.e. it works like a set). DEMO here (if you change to version 1.4.2, you'll see that the first row gets selected twice).
有“contains:”
TD:contains("Mail")
但这只是在元素中的任何位置查找 Mail(没有“开头为”)。
There is "contains:"
TD:contains("Mail")
But that just looks for Mail anywhere in the element (there is no 'starts with').