选择一个dom元素与jQuery不能使用此ID?

Mar*_*arc 2 javascript jquery dom jquery-selectors

我有一种奇怪的行为,也许我错过了一些东西.

我有这个DOM元素(Sharepoint Ribbon Element,但无关紧要),我想通过ID选择jQuery:

<span class="ms-cui-row" 
id="Ribbon.EditingTools.CPEditTab.Font-Medium-0-0">...</span>
Run Code Online (Sandbox Code Playgroud)

如果我用类名选择它,$('.ms-cui-row')我可以选择它,但我不能用id $('#Ribbon.EditingTools.CPEditTab.Font-Medium-0-0').我甚至无法选择它$('[id="Ribbon.EditingTools.CPEditTab.Font-Medium-0-0"]').

那么这里有什么意义呢?也许在id名称中使用点不是一个好主意 - 但那是微软不是我,我无法改变它.但它们对他们来说似乎没问题?

我准备了一个jsfiddle来玩.

nbr*_*oks 5

你不能拥有.jQuery选择器(除了在类选择器的开头),因为jQuery将假设它指的是元素上的类.逃避它\\.

此外,jQuery中的id选择器是$("#id").

你的新选择器:

$('#Ribbon\\.EditingTools\\.CPEditTab\\.Font-Medium-0-0')
Run Code Online (Sandbox Code Playgroud)