Javascript 使用jQuery选择一个dom元素是否不使用此id?

Javascript 使用jQuery选择一个dom元素是否不使用此id?,javascript,jquery,dom,jquery-selectors,Javascript,Jquery,Dom,Jquery Selectors,我有一种奇怪的行为,也许我错过了什么 我有一个DOM元素(Sharepoint Ribbon元素,但无所谓),我想用jQuery按ID选择它: <span class="ms-cui-row" id="Ribbon.EditingTools.CPEditTab.Font-Medium-0-0">...</span> 。。。 如果我用类名$('.ms cui row')选择它,我可以选择它,但用id我不能$('#Ribbon.EditingTools.CPEditTa

我有一种奇怪的行为,也许我错过了什么

我有一个DOM元素(Sharepoint Ribbon元素,但无所谓),我想用jQuery按ID选择它:

<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名称中使用点不是一个好主意,但那是微软而不是我,我不能改变它。但对他们来说似乎还可以


我准备了一个

在jQuery选择器中不能有
(类选择器的开头除外),因为jQuery将假定它引用的是元素上的类。用
\
将其转义

另外,jQuery中的id选择器是
$(“#id”)

您的新选择器:

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

适用于我。

您可以使用以下方法选择带有特殊字符的id:

$('[id=“Ribbon.EditingTools.CPEditTab.Font-Medium-0-0”]')

$('Ribbon\\.EditingTools\\.CPEditTab\\.Font-Medium-0-0')

参考文献:


检查此项:您必须转义:
!"#$%&'()*+,./:;?@[\]^`{|}~
微软在苹果的每一个市场上都添加了点,即使是id属性。好的,谢谢你的帮助,我很感激。我试着使用“但只有一个,而不是两个。但正如你所看到的那样,这也不起作用……问题是
文档。写
,我的错:@Marc:
”\r#Ribbon\\.EditingTools\.CPEditTab\\\\.Font-Medium-0-0'
很好。@nbrooks:谢谢,就这样!我的检查脚本中有一个错误,所以你是对的,你的答案是正确的。非常感谢!我被
文档绊倒了。写
删除所有内容(从而删除我们要找的
)在我的第一次检查中也是。嗯,对我来说不是……我用的是Chrome,你用的是哪种浏览器?啊,它对我也适用,对不起,我想我的小提琴弄错了。
alert($('#Ribbon\\.EditingTools\\.CPEditTab\\.Font-Medium-0-0').length)