2011-09-14 30 views
1
$("#someId_"+someName).css(....); 

這就是我正在做的,以獲得div在jquery中。 這是工作得很好,除非'someName'包含字符串與多個標記 像「穆罕默德阿迪爾」jquery中的動態ID

有沒有其他方式做同樣的事情?

感謝..

+3

你的選擇點的事實,您使用的ID選擇。 「多個令牌」指的是空間,這幾乎是不適合元素ID。 – f0x

+0

我以爲你正在尋找獲得一個號碼ID,你有ID空間內的問題? –

+0

在參考什麼f0x說:http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute-in-html –

回答

4

不這樣做。您的id中不能有空格。

引述HTML5 spec重點礦山

id屬性指定其元素的唯一標識符(ID)。該值在元素的主子樹中的所有ID中必須是唯一的,並且必須至少包含一個字符。 該值不能包含任何空格字符。

3

你不能有ID的空間,所以你必須將其轉換爲一個破折號或東西是有效的。 someName.Replace(" ","-")是將空間轉換爲短劃線的代碼。

如果這沒有幫助,請解釋一些。是someName是一個名稱列表還是一個名稱需要是一個ID?

+0

someName是一個單獨的名稱,需要是帶有前綴的ID。 –

+1

然後,你將不得不使空間破折號或類似的東西。 ID's不能有空間 – JakeJ

0

您的ID s中不能有空格,但有一種方法可以選擇div。

$("[id='someId_"+someName+"']") 

我建議您不要使用空格,而應使用其他內容,如下劃線。

<div id="someId_Mohammad_Adil"></div> 

然後你$("#someId_"+someName)將工作(只要someName具有轉換爲下劃線的空間:someName = someName.replace(' ', '_');