我有一种奇怪的行为,也许我错过了什么。
我有这个DOM元素(Sharepoint Ribbon Element,但无关紧要)我想用ID选择jQuery:
<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名称中使用点不是一个好主意 - 但那是微软不是我,我无法改变它。但对他们来说似乎没问题?
我准备了 jsfiddle 来玩。
答案 0 :(得分:5)
你不能在jQuery选择器中有.
(除了在类选择器的开头),因为jQuery会假设它引用了元素上的类。用\\
转义它。
此外,jQuery中的id选择器是$("#id")
。
您的新选择器:
$('#Ribbon\\.EditingTools\\.CPEditTab\\.Font-Medium-0-0')
答案 1 :(得分:2)
alert($('#Ribbon\\.EditingTools\\.CPEditTab\\.Font-Medium-0-0').length)
适合我。
答案 2 :(得分:2)