1

私はこのようなアンカータグを持っています:

<a id="1_18_shazin@mycompany.com" class="big-link" href="">4</a>

今、私はテキストを次のコードに置き換えようとしています

a = 1;
b = 18;
c = "shazin@mycompany.com";
var tempId = "#"+a+"_"+b+"_"+c;
$(tempId).text("some text");

Thiisは決して機能しません。.html()、. append()を試しました。IDが見つからないようです。ただし、クラス名でイベントを呼び出すと機能します。

$(".big-link").text("some text");

どんな手掛かり?前もって感謝します。

4

6 に答える 6

6

問題は、ID 値を作成する方法にあります。問題は

  1. 数字で始まる
  2. @の使用
  3. の使用。

私はそれらを削除し、jquery text() はうまく機能していました。このフィドルをチェックしてください:http://jsfiddle.net/kDnmu/

HTML

<a id="A_1_18_shazin_mycompany-com" class="big-link" href="">4</a>

Jクエリ

a = 1;
b = 18;
c = "shazin_mycompany-com";
var tempId = "#A_"+a+"_"+b+"_"+c;
$(tempId).text("some text");

有効な ID の詳細については、この SO の回答を確認してください: What are valid values for the id attribute in HTML?

編集:これらの ID を動的に構築している場合は、独自のロジックでエスケープすることを検討してください。

于 2013-01-18T06:55:53.520 に答える
3

これを試してください:http://jsfiddle.net/LPuTr/

a = 1;
b = 18;
c = "shazin@mycompany.com";
aaa = a+'_'+b+'_'+c;

$('a[id="'+aaa+'"]').text("some text");

詳細についてidsは、html 5こちらをご覧ください:http: //mathiasbynens.be/notes/html5-id-class

于 2013-01-18T07:07:14.630 に答える
2

@ドット (.) と文字を.でエスケープする必要があります\\。これを試して

$("#1_18_shazin\\@mycompany\\.com").text("some text");

これを試してください:http://jsfiddle.net/HLtz9/10/

于 2013-01-18T06:54:41.723 に答える
1

ID に不正な文字が含まれています。また、ID を数字で始めることはできません

HTML の id 属性の有効な値は何ですか?

于 2013-01-18T06:54:49.277 に答える
0

これがJSfiddleの動作です

問題は、IDで 使用@していることです.

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

@はIDに対して合法ではなく.:許可されていますが、次の理由で回避する必要があります。

たとえば、IDに「ab:c」というラベルを付け、スタイルシートで#ab:cとして参照できますが、要素のIDであるだけでなく、ID「a」、クラス「b」、疑似-セレクター「c」

于 2013-01-18T07:04:05.020 に答える
0

生理を緩めなければならないようです。そしてalpha@そしてそれは動作します!

HTMLのid属性の有効な値は何ですか?

なぜアルファなのかはわかりますが、生理の手がかりはありません:/

于 2013-01-18T07:00:57.890 に答える