2011-09-30 117 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();