jQuery:如何引用类名具有句点的HTML元素?

时间:2010-10-14 10:05:13

标签: jquery

我有这样的几个要素<td class="sede_co.uk">

我想用这种方式使用jquery引用它们:

$(td.sede_co.uk)

但是jquery没有“找到”它们,因为(我猜)是“co”和“uk”之间的点。

有什么想法吗?

此致

哈维

2 个答案:

答案 0 :(得分:8)

应该修复无效的类名...但要按原样查询,请转义.

$("td.sede_co\\.uk")

You can test it here。请修复该类,.不是类名中的有效字符...它会减少头痛。

答案 1 :(得分:5)

哦,现在来吧,Hannes。我只会追捕像<p class="paragraph">这样的人。

如果可以的话,稍作修正。 .是一个有效的角色,当它被转义时,就像你可以在键盘上键入的几乎任何东西一样。 (它应该只需要一个反斜杠来逃避;我不确定为什么JSfiddle认为它需要两个。)

Hogan,你说得对,jQuery没有找到元素的原因是正确的。这是因为$(td.sede_co.uk)在其td属性的值中选择了 {em> sede_couk的任何class元素。

换句话说,它会选择<td class="sede_co uk"><td class="uk sede_co">甚至<td class="sede_co anarchy inthe uk mate">。注意这些值中的空格,它们保持不同单词之间的“分离”。由于您的单元格的class值实际上是sede_co.uk,因此选择器无法找到它。逃避它,它可以。

否则您可以停止使用class名称中的点数。从长远来看,这对你来说可能更容易。