查找以id开头的html元素


89

我的问题是这样的:

我在多个页面中都有HTML代码,在每个页面上我都使用JQgrid(jQuery网格)来显示一些数据。我知道在每个页面上,保存JQgrid的元素都被命名为“ LIST_xxx”。现在,我需要制作一个JavaScript,在每个页面上使用该元素“ LIST_XXXX”并执行一些操作。我如何才能通过ID搜索元素,但仅知道它的初始部分(如我之前提到的那样):

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

我希望我能说清楚。谢谢。

Answers:


171

尝试

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

它应该工作


该参考上的布局比jquery文档好得多。
Yuriy Faktorovich,2010年

效果很好,谢谢...我用它来找到一个以特定值结尾的id,例如if($('div [id $ =“'+ val +'”]')。length> 0)执行一些操作;
raphie

好吧,它对于上面的简单控件ID来说运作良好。如何使其适用于诸如我具有这样的ID“ txt_0_city”,“ txt_1_city”,“ txt_2_city”,“ txt_3_city”等的控件的场景,并且我希望所有具有ID如“ txt _ * _ city”的此类元素的计数“
拉吉夫·布哈德瓦伊

@Rajiv如果您可以控制html,则最好为每个元素添加一个类似“ city”的类。然后,您可以轻松地计算它们。
Glen Little

@Rajiv如果无法改善html,请查看api.jquery.com/multiple-attribute-selector-您可以组合选择器。例如,$(“ span [id ^ ='txt _'] [id $ ='_ city']”)
Glen Little

22

您需要使用以selector开头属性,如下所示:

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

好吧,它对于上面的简单控件ID来说运作良好。如何使其适用于诸如我具有这样的ID为“ txt_0_city”,“ txt_1_city”,“ txt_2_city”,“ txt_3_city”等的控件的场景,并且我希望所有具有ID如“ txt _ * _ city”的此类元素的计数“
拉吉夫·布哈德瓦伊

@Rajiv,您好,欢迎来到stackoverflow。我已经回复了您的另一份评论。
Glen Little

8

给该元素一个通用的类名或其他可以查询的属性。


嗨,谢谢您的回答,您的建议存在的问题是可能存在多个保存JQgrid的表,因此可能有:“ LIST_customer”,“ LIST_carrier” ...等。而且我仅基于初始ID部分“ LIST_”选择它们两者。
lidermin 2010年

1
我了解,但是将它们全部都设为List类对我来说似乎是一种更具可读性和描述性的方法。对于其他每个人,您总是可以在jquery中使用starts with选择器,如其他答案所示。
Yuriy Faktorovich,2010年

@lidermin Yuriy所说的应该起作用。为什么不将一个类添加到控件中,例如“ list”,因为您将list_作为前缀。因此,当您选择该类时,它将获得每个控件。这将是最有效的方法。
乔什·梅恩

Yuriy的答案将起作用。您可以将相同的类(例如“ ListsINeedToFind”)添加到所有“ LIST_XXXX”元素中,然后使用进行查找$('.ListsINeedToFind')
Annabelle 2010年

有时,必须有多个具有相同类但具有不同ID的元素。
文森特


1

获取以特定ID /字符结尾的元素

find('[id$=someid]')

获取以特定ID /字符开头的元素

find('[id*=anotherid]')

获取与特定ID /字符匹配的元素

find('[id^=id]')
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.