2010-02-19 64 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