2010-02-19 57 views
54

我的問題開始HTML元素是這樣的:查找其ID與

我有多個網頁的HTML代碼,他們每個人我用的jqGrid(jQuery的網格)顯示的一些數據。我知道在每個頁面上,保存JQgrid的元素都被命名爲「LIST_xxx」。現在我需要製作一個JavaScript,在每個頁面上使用該元素「LIST_XXXX」並執行一些操作。我怎麼能搜索元素的ID,但只知道它的最初部分(ID的,就像我前面提到的):

$('#list_[XXXX]')... --> The part surrounded by [] is variable on each page, i want to discriminate that. 

我希望我自己清楚。謝謝。

回答

110

嘗試

$('div[id^="list_"]') 

它應該工作

+0

該引用比jquery文檔更好的佈局。 – 2010-02-19 18:53:57

+0

這工作得很好,謝謝...我用它來找到一個id,以特定的值結束,如if($('div [id $ =''+ val +'「')')。 – raphie 2013-02-20 00:22:30

+0

好吧,它適用於上面簡單的控件ID。如何使它適用於像我有這樣的ID「txt_0_city」,「txt_1_city」,「txt_2_city」,「txt_3_city」等控件的控件,我希望所有這樣的元素的計數有像「txt _ * _ city 「 – 2015-06-23 05:27:37

7

給這個元素一個共同的類名或其他你可以查詢的屬性。

+0

嗨,感謝您的回答,您的建議存在的問題是可能有多個表格包含JQgrid,因此可能存在:「LIST_customer」,「LIST_carrier」...等等。我只需要在初始ID部分選擇兩個basen:「LIST_」。 – lidermin 2010-02-19 18:49:39

+0

我明白了,但是讓他們成爲List類似乎對我來說更具可讀性和描述性。對於每個人來說,你都可以使用jquery中的選擇開始,如其他答案所示。 – 2010-02-19 18:50:48

+0

@lidermin尤里說什麼應該工作。爲什麼不給你的控件添加一個類,比如「list」,因爲你的list_爲前綴。所以當你選擇這個類時,它會得到每個控件。這將是最有效的方式。 – 2010-02-19 18:51:28

19

您需要使用attribute starts with selector,就像這樣:

$('[id^=list_]').whatever() 
+0

好吧,它適用於以上簡單的控件ID。如何使它適用於像我有這樣的ID「txt_0_city」,「txt_1_city」,「txt_2_city」,「txt_3_city」等控件的控件,我希望所有這樣的元素的計數有像「txt _ * _ city 「 – 2015-06-23 05:26:39

+0

嗨@Rajiv,歡迎來到stackoverflow。我已回覆您評論的其他副本。 – 2015-06-23 13:54:32