Find html element which id starts with
我的问题是:
我在多个页面中有 HTML 代码,在每个页面上我都使用了 JQgrid(jquery 网格)来显示一些数据。我知道在每个页面上,保存 JQgrid 的元素都被命名为"LIST_xxx"。现在我需要制作一个 javascript,它在每个页面上采用该元素 "LIST_XXXX" 并做一些事情。我怎么能通过 ID 搜索一个元素,但只知道它的初始部分(ID 的,就像我之前提到的):
1
| $('#list_[XXXX]')... --> The part surrounded by [] is variable on each page, i want to discriminate that. |
我希望我说清楚了。谢谢。
试试
它应该可以工作
-
该参考文献的布局比 jquery 文档要好得多。
-
这很好用,谢谢...我用它来找到一个以特定值结尾的 id,例如 if($('div[id$="' val '"]').length > 0) execute something;
-
好吧,它适用于上述简单的控件 ID。如何使其适用于像我拥有具有此类 ID 的控件"txt_0_city" 、"txt_1_city" 、"txt_2_city" 、"txt_3_city" 等的场景,并且我希望计算所有此类元素的 ID 为"txt_*_city""
-
@Rajiv如果您可以控制html,最好为每个元素添加一个像"city"这样的类。然后,您可以轻松地计算它们。
-
@Rajiv 如果您无法改进 html,请查看 api.jquery.com/multiple-attribute-selector - 您可以组合选择器。例如,$("span[id^='txt_'][id$='_city']")
你需要使用以选择器开头的属性,像这样:
1
| $('[id^=list_]').whatever() |
-
好吧,它适用于上述简单的控件 ID。如何使其适用于像我拥有具有此类 ID 的控件"txt_0_city" 、"txt_1_city" 、"txt_2_city" 、"txt_3_city" 等的场景,并且我希望计算所有此类元素的 ID 为"txt_*_city""
-
嗨@Rajiv,欢迎来到stackoverflow。我已经回复了您评论的另一份副本。
给那个元素一个通用的类名或其他你可以查询的属性。
- 您好,感谢您的回答,您的建议的问题是可能有多个表持有 JQgrid,因此可能有:"LIST_customer"、"LIST_carrier"……等等。而且我只需要根据初始 ID 部分选择它们:"LIST_"。
-
我理解,但是将它们全部设为 List 类对我来说似乎是一种更具可读性和描述性的方法。对于每个人来说,您始终可以在 jquery 中使用以选择器开头的开头,如其他答案所示。
-
@lidermin Yuriy 所说的应该有效。为什么不向您的控件添加一个类,例如"list",因为您有 list_ 作为您的前缀。因此,当您选择该类时,它将获得每个控件。这将是最有效的方法。
-
Yuriy 的回答会奏效。您可以将相同的类(例如"ListsINeedToFind")添加到所有"LIST_XXXX"元素,然后使用 $('.ListsINeedToFind') 查找它们。
-
有时需要有多个元素具有相同的类但不同的 ID。
使用"属性以"选择器 http://api.jquery.com/attribute-starts-with-selector/
请注意,这是低效的。使用标签名称作为前缀,如果可能,从最近的父级下降。
获取以某个id/字符结尾的元素
获取以某个id/字符开头的元素
获取与某个id/字符匹配的元素