1

我有一个独特的情况,其中动态驱动的链接包含一种我无法使用 jquery 定位和隐藏的 ID。我称它为伪 ID,因为它让我想起了伪类,但我什至不认为这种类型的 ID 存在。

您有解决方案如何定位此链接并使用此 ID 隐藏它吗?我无法在物理上更改 ID,所以我坚持希望有一种方法可以使用 jquery 来解决它。

这是带有相关 ID 的 HTML:

<a href="http://www.helloworld.com" id="msgForum:print">test</a>

我尝试使用简单的隐藏功能将其删除,但我无法定位它,因为它:print存在。

$('#msgForum:print').hide();

这是我的小提琴:http: //jsfiddle.net/YAMVA/1/

4

3 回答 3

4

您只需要:使用双反斜杠转义选择器中的特殊字符。

$('#msgForum\\:print').hide();

http://jsfiddle.net/jqHES/

来自jQuery 选择器文档

使用任何元字符(例如 !"#$%&'()*+,./:;?@[\]^`{|}~ )作为
一个名字,它必须用两个反斜杠转义:\\. 例如,一个 id="foo.bar" 的元素,
可以使用选择器 $("#foo\\.bar")。
于 2013-06-24T13:19:55.757 回答
4

用于\\转义任何特殊字符。

$('#msgForum\\:print').hide();

http://jsfiddle.net/YAMVA/3/

特殊字符!"#$%&'()*+,./:;?@[\]^{|}~

于 2013-06-24T13:20:10.380 回答
1

您可以利用 id 属性选择器:

演示

$('[id="msgForum:print"]').hide();
于 2013-06-24T13:19:26.160 回答