我试图找到一个jQuery选择只会直接包含在以下两个示例文本“PDT”(截断简洁)匹配元素:我可以用什么jQuery选择器来匹配这些HTML元素(需要“:contains()”)?
(07-27) 21:28 PDT SAN FRANCISCO -- San Francisco
supervisors ended more than a decade...
The 10-1 vote, with only Supervisor Chris Daly dissenting
和
(07-28) 08:59 PDT WASHINGTON --
Orders to U.S. factories for big-ticket manufactured goods fell...
在第一种情况下,这将是,在第二种情况下,将是第一种
。我正在寻找一个可以匹配两个选择器的选择器,或者找不到任何误报的多个选择器。
通过我的分析,我知道的元素下面的东西,将匹配:
他们可以是一个
或元素
他们是他们的父母的第一个孩子
它们包含文本 “PDT”
他们没有孩子
鉴于所有这些属性,我认为应该有一个jQuery选择器,可以高精度地找到这些元素,并且几乎没有误报。不过,我在把它们放在一起时遇到了一些麻烦,因为我还没有使用过这种复杂的选择器。
我所知道的工具(每个链接的文档):
我不知道,如果最后一个会是有用的 - 我只是更仔细地阅读文档,并注意到文本节点被认为是空的选择器,所以我想要的HTML元素ta rget实际上不是空的。但是,我可以依靠它们只包含一个文本节点的事实,而没有其他任何内容。
我的第一个镜头是:
*:contains(PDT):first-child:empty
,但没有奏效。我尝试了其他几种变化,但我很难过。任何人可以提供一些指导?
一个告诫:我实际上并没有在我的脚本中使用jQuery,而是它的Sizzle选择器引擎。因此,我需要尝试在一个选择器中完成所有操作,而且我不能使用像.find()和.filter()这样的jQuery方法。
在此先感谢您的帮助!
2010-07-29
Bungle
+0
你为什么只用Sizzle?为什么你不能在服务器端添加一个类或其他东西? –
2010-07-29 00:30:16
+0
此代码是在主要新闻网站上使用的模块的一部分,所以我无法控制服务器,也不能要求他们以任何方式更改标记。我使用Sizzle而不是jQuery主要是为了减少代码的重量(对于Sizzle约为5Kb,对于jQuery约为20K),因为我们的脚本每日下载量为1-2百万次。 –
2010-07-30 19:44:39