2011-09-30 84 views
5

可能重复:
How do I get jQuery to select elements with a . (period) in their ID?如何屏蔽“。”炭?

我试图运行下面的代码:

$('#info-mail.ru .domain-info').toggle(); 

example here

和#info-mail.ru我的理解解释为id =“info-mail”和class = “ru”,但我有以下结构:

<div id="info-mail.ru"> 
    <p class="domain-info"> 
     Some cool info 
     Some cool info 
     Some cool info 
     Some cool info 
    </p> 
</div> 

如何屏蔽“。”选择器语句中的char?或者唯一的办法是取代所有“。”与“_”(例如)?

TIA!

+7

有趣的是,'.'在技术上是有效的在ID:?什么是HTML中的id属性的有效值(http://stackoverflow.com/q/ 70579) –

+1

@Pekka:检查那是我的第一个直觉;-) –

回答

7

逃生.用双反斜线,一个是文字和其他jQuery的:

$('#info-mail\\.ru .domain-info').toggle(); 

详见jQuery FAQ

+1

删除最后\\:$('#info-mail \\。ru .domain-info')。toggle();最后一个旨在成为一个类选择器。 –

+0

thx!工作完美!你能解释一下 - 描述了这种“屏蔽”语法(即“\\”)吗? – dizpers

+0

@dizpers - 他们不叫屏蔽字符,而是**转义字符** –

1

我相信你需要在使用前使用两个反斜杠。

所以选择将$('#info-mail\\.ru .domain-info').toggle();