0

重複の可能性:
htmlタグのIDに含まれる特殊文字

私は電子メールとしてIDを持つDIVを持っています:

<div id="example@example.com">This is blah blah text</div>

jQueryを使用して、そのDIVを選択して非表示にします。

$('#example@example.com').hide();

そして、それは機能していません!

これらのDIVを動的に生成していて、実際の行IDについてデータベースに再度クエリを実行したくないので、電子メールアドレスをIDとして使用しますが、それはできません...

これに対する解決策はありますか?

前もって感謝します

4

3 に答える 3

2

このようなIDはHTML5でのみ有効であることに注意してください。

これらのIDをjQueryのセレクターとして使用するには、特殊文字をエスケープする必要があります。

$('#example\\@example.com').hide();
于 2012-09-30T10:09:06.473 に答える
0

名前のリテラル部分としてメタ文字({|}〜 `など)のいずれかを使用する場合は、!"#$%&'()*+,./:;<=>?@[\]^2つの円記号で文字をエスケープする必要があります。\

あなたのIDはhtml4.1では無効です。以下のルールに従う必要があります

  1. 少なくとも1つの文字が含まれている必要があります
  2. スペース文字を含めることはできません
  3. HTMLでは、すべての値で大文字と小文字が区別されません

IDトークンとNAMEトークンは、文字([A-Za-z])で始まる必要があり、その後に任意の数の文字、数字([0-9])、ハイフン( "-")、アンダースコア( "_")を続けることができます。 、コロン( ":")、およびピリオド( "。")。

上記http://www.w3.org/TR/html4/types.html#type-idから

ただし、heml5を使用している場合は、以下が有効です。

<div id="#">Foo.
<div id="##">Bar.
<div id="♥">Baz.
<div id="©">Inga.
<div id="{}">Lorem.
<div id="“‘’”">Ipsum.
<div id="⌘⌥">Dolor.
<div id="{}">Sit.
<div id="[attr=value]">Amet.
<div id="++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.">Hello world!

\\これを使用するには、次のようにしてこれらのものをエスケープする必要があります$('#example\\@example.com')

于 2012-09-30T10:08:10.273 に答える
0

「example@example.com」をhtml要素のIDとして使用することはできません。代わりに、次のようなデータ属性を使用してください。

<div data-id="example@example.com">
</div>

次に、jQueryを使用して次のように選択します

$('div[data-id="example@example.com"]').hide();
于 2012-09-30T11:40:12.233 に答える