1

動的に駆動されるリンクに、jquery でターゲットにして非表示にできないタイプの ID が含まれているという特殊な状況があります。疑似クラスを思い起こさせるので、疑似 ID と呼んでいますが、このタイプの ID が存在するとは思いません。

このリンクをターゲットにして、この ID で非表示にする方法はありますか? IDを物理的に変更することはできないので、jqueryでIDを取得する方法があることを願っています。

問題の 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セレクターのドキュメントから

メタ文字 ( !"#$%&'()*+,./:;?@[\]^`{|}~ など) をリテラル部分として使用するには
名前は、2 つのバックスラッシュでエスケープする必要があります: \\. たとえば、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 に答える