2009-08-13 15 views
0

我想使用jQuery來掃描一個網站,但ID是不斷變化的,但是我正在搜索的ID有一個永久性模式:用我的選擇器幫我,ID正在動態改變每一頁加載

app7019261521_the_coinb4678bc2 
app7019261521_the_coind42fgr23 
app7019261521_the_coing0992gvb 
app7019261521_the_coin12e5d0aa 

的標識總是app7019261521_the_coin

啓動,但我的問題是我不知道如何把在jQuery選擇。

$("#app7019261521_the_coin") 

似乎不起作用

那麼,怎樣才能使這項工作?

回答

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

應該工作 - 但它的選擇比選擇真正的ID要慢很多 - 或者指定一個類。這個選擇器會一次掃描頁面上的每個元素,這個選擇器沒有好的方法來優化。儘管你可以構建一個更好的選擇器,但它是10倍中的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. 
+0

-1因爲這個答案已經提供。請對其他先回答的人投票表決。 – Sampson 2009-08-13 19:49:41

+1

@Jonathan,那又怎麼樣?他們不是相同的答案,不要告訴人們如何投票 – hasen 2009-08-13 19:50:53

+3

cont:爲了記錄,這個答案更好,因爲它解釋了*爲什麼*它的工作原理。這可能是爲什麼他花了幾分鐘時間才發佈它。 – hasen 2009-08-13 19:56:57

2

你可以設置一個類,只是通過類名來調用它嗎?

您可能還可以嘗試

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

這會發現所有的div與app7019261521_the_coin

替換任何元素類型您正在搜索的DIV開始。

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

請記住,這不是最優化的,因爲它會導致腳本檢查每個匹配元素的id屬性。

您可能想了解如何向元素中添加類,或者至少首先查找父元素並從中進行遍歷。

+0

-1作爲已經提供了這個答案。請對其他先回答的人投票表決。 – Sampson 2009-08-13 19:49:08

+0

Downvote?當我寫我的時候,StackOverflow沒有向我展示其他答案,這是我的錯嗎?偉大的你在身邊,喬納森。 – 2009-08-14 14:46:56

相關問題