2013-09-30 20 views
0

我觀察到,看來,jQuery ID選擇器不允許「。」是什麼原因呢?有什麼可以圍繞工作?

$("#bank1.bankName").hide(); 

$("test").hide() 

工作

是什麼原因爲何不起作用?什麼可能是一種可能的解決方法

編輯爲包含標記

<td id = "bank1.bankName"> 
<form:input path="bankDetails[0].bankName" size = "12"/> 
</td> 

我使用Spring MVC的

+1

顯示你的標記? –

+0

想象一下編程語言中使用變量名稱的id和名字。嘗試堅持使用字母,數字和下劃線 – Boundless

回答

6

問題是因爲.用來表示一個類選擇。您當前的代碼正在使jQuery搜索一個元素,其ID爲bank1類別bankName

爲了避免這種情況,你需要\\逃脫.字符:

$("#bank1\\.bankName").hide(); 

Example fiddle

行動的最好的辦法是在id不使用.角色的所有屬性。雖然它在HTML5規範中有效,但會導致諸如此類的混淆。

+0

+1非常快速和正確。 –

+1

你絕對是對的。無論如何,我認爲OP不應該在ID中使用點。 –

+0

@StefanoSanfilippo我完全同意,但它們在HTML5規範中有效。 –

相關問題