2012-02-03 84 views
2

我遇到了單行javascript/jquery的問題。我試圖選擇具有給定類的所有對象,然後使用存儲在第一個對象類中的ID在另一個對象上創建觸發器。Javascript/JQuery類選擇器問題

的JS/JQ:
$('.navs').click(function(){$("#"+$(this).attr('tab')+"").trigger('click');})

的HTML:
<img alt="" class="thumbnail" src="gamedev_thumb.png" class="navs" tab="gamedev"/>

我不知道這事,但是這個代碼是被加載到上一個div頁面片段主頁面。我有頂部的標籤來控制導航,爲了簡單起見,我希望圖像觸發頂部相應標籤上的點擊。

回答

5

您有兩次class屬性。你絕對可以把幾個類名相同的類屬性中:

<img alt="" class="thumbnail navs" src="gamedev_thumb.png" tab="gamedev"/> 

如果片段被加載AJAX頁面加載後,不幸的是,你的選擇$('.navs')已經運行,你的形象會不會成爲它的一部分,您必須在片段加載並附加到文檔後執行您的JavaScript片段。

我不知道你是怎麼加載片段,但一個方法是,如果你用它來使用.load()方法的回調:

$('#mydiv').load(url, function() { 
    $('.navs').click(function(){ 
     $("#"+ $(this).attr('tab') + "").trigger('click'); 
    }) 
}); 

請注意,如果您加載與片段加載方法(例如「mypage.html #mydiv」),所有JavaScript塊將被刪除。

jQuery .load()

+0

我把JS放在頁面片段中,以便它在頁面加載時運行。修正類標籤修復它。非常感謝! – 2012-02-03 20:57:02

+1

如果他給你的答案解決了你的問題,你應該把它標記爲這樣。 – 2012-02-03 21:09:34

+0

我不得不等待它讓我:)我剛剛回來這樣做。 – 2012-02-03 21:50:20