2

私は奇妙な振る舞いをしています。何かが足りないのかもしれません。

IDでjQueryで選択したいこのDOM要素(Sharepointリボン要素ですが、問題ではありません)があります:

<span class="ms-cui-row" 
id="Ribbon.EditingTools.CPEditTab.Font-Medium-0-0">...</span>

クラス名で選択すると$('.ms-cui-row')選択できますが、IDでは選択できません$('#Ribbon.EditingTools.CPEditTab.Font-Medium-0-0')。で選択することもできません$('[id="Ribbon.EditingTools.CPEditTab.Font-Medium-0-0"]')

では、ここでのポイントは何ですか?ID名にドットを使用するのは良い考えではないかもしれませんが、それは私ではなくMicrosoftであり、変更できません。しかし、それは彼らにとって大丈夫なようですか?

遊んでみる jsfiddleを用意しました。

4

3 に答える 3

5

.jQuery は、要素のクラスを参照していると想定するため、jQuery セレクターを使用することはできません(クラス セレクターの先頭を除く)。でエスケープし\\ます。

また、jQuery の id セレクターは$("#id").

新しいセレクター:

$('#Ribbon\\.EditingTools\\.CPEditTab\\.Font-Medium-0-0')
于 2012-07-11T03:23:07.183 に答える
2

次の方法を使用して、特殊文字を含むIDを選択できます。

$('[id="Ribbon.EditingTools.CPEditTab.Font-Medium-0-0"]'); デモ

$('#Ribbon\\.EditingTools\\.CPEditTab\\.Font-Medium-0-0'); デモ

参照:

于 2012-07-11T03:34:03.660 に答える
2
alert($('#Ribbon\\.EditingTools\\.CPEditTab\\.Font-Medium-0-0').length)

私のために働きます。

于 2012-07-11T03:31:07.157 に答える