帮助我选择器,ID动态地改变每个页面加载

时间:2009-08-13 19:37:34

标签: javascript jquery

我想使用jQuery扫描网站,但ID会不断变化,但我正在搜索的ID有永久模式:

app7019261521_the_coinb4678bc2
app7019261521_the_coind42fgr23
app7019261521_the_coing0992gvb
app7019261521_the_coin12e5d0aa

ID始终以app7019261521_the_coin

开头

但我的问题是我不知道如何把它放在jQuery选择器中。

$("#app7019261521_the_coin") 

似乎无法正常工作

那么我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:6)

$("[id^=app7019261521_the_coin]") 

应该工作 - 但它比选择真实ID要慢得多 - 或指定一个类。此选择器将一次扫描一个页面上的每个元素,没有好的方法可以优化此选择器。虽然你可以构建一个更好的选择器,但是9个中有9个:这个#app7019...元素是另一个元素的直接子元素,更容易确定吗?比如id='container'

$("#conainter > [id^=app7019261521_the_coin]"); for instance

来自jQuery Selector Documentation

[attribute^=value]    Returns: Array<Element(s)>
Matches elements that have the specified attribute and it starts 
with a certain value.

答案 1 :(得分:2)

你可以设置一个类,只是通过类名调用它吗?

您也可以尝试

$("div[id^=app7019261521_the_coin]")

答案 2 :(得分:1)

这将找到以 app7019261521_the_coin

开头的所有div

将div替换为您要搜索的任何元素类型。

$j('div[id^=app7019261521_the_coin]')

请记住,这不是最佳选择,因为它会导致脚本检查每个匹配元素的id属性。

您可能希望了解如何向元素添加类或至少先找到父元素并从那里遍历。