2016-03-27 23 views
0

我已經構建了一個腳本觸發點擊另一個元素的點擊事件。例如,用戶可以單擊元素A,腳本觸發元素B的點擊。jQuery選擇器是不同的每個頁面

我的問題是,我使用的選擇器只針對一個頁面,因爲它們在其末尾包含唯一ID,對於例如,在一個頁面上,我可能有selector-123,在另一個頁面上它可能是selector-456。

下面是實際的選擇

$('#accordion-section-sidebar-widgets-obox-layers-builder-4 > h3:nth-child(1)').trigger('click'); 

的問題是,#accordion-section-sidebar-widgets-obox-layers-builder-4將不必總是結束4,但在任何數量可能結束。

有沒有辦法使用變量作爲我的選擇,像#accordion-section-sidebar-widgets-obox-layers-builder-*

+0

你可以嘗試像這裏解釋的一樣https://api.jquery.com/attribute-starts-with-selector/ – Captain0

+0

你在尋找一個匹配ID開頭的選擇符還是你知道數字ID爲頁面,你想建立使用該ID選擇器? – rdubya

+0

http://stackoverflow.com/questions/4161869/jquery-how-to-select-all-the-class-elements-start-with-text – pratiklodha

回答

2

假設這是你的HTML

<div id="accordion-section-sidebar-widgets-obox-layers-builder-4"> 
    hallo 
</div> 
<div id="accordion-section-sidebar-widgets-obox-layers-builder-6"> 
    bye 
</div> 

使用這種

$('div[id^='accordion-section-sidebar-widgets-obox-layers-builder']').innerHml() 

將返回

  • 再見

鏈接fiddle

我已經離開了選擇的最後一部分。這應該讓你開始,但。

+0

剛剛通過您發佈在我的意見 - 這正是我需要的頁面 - 謝謝 –

0

您可以使用正則表達式

​$("[id^=accordion-section-sidebar-widgets-obox-layers-builder-][id$= > h3:nth-child(1)]") 
0

你可以使用jQuery的屬性包含ID前綴選擇。

Docs