2011-01-13 39 views
0

這是一個讓我瘋狂的問題。jQuery - 無法選擇HIdden元素

我寫了一個頁面,使用jQuery,它的大小來粘貼在這裏,但生病發佈一個減少的例子。

有一個內容窗格加載空白。

然後有三個隱藏的div,與聯繫方式,網站信息等

的想法是,當你點擊一個按鈕,我只是交換的div的內容複製到空白的內容窗格中的內容(DIV)並乾淨地滑入和滑出。

這一切工作正常,雖然這是我的問題。

我在聯繫表單上有一個發送按鈕,但無論我嘗試什麼,我都無法使用jQuery進行選擇。

Iv剝離了它後面的所有聯繫代碼,現在所有即時消息都試圖做的是彈出一個警告框,我甚至無法做到這一點。

$('.send').click(function() {alert('Something');});

的唯一結論,我可以拿出的是,因爲在頁面加載時,它未能接觸面板被隱藏,選擇它。

我向其他兩個div添加了相同的「發送」按鈕,並且只有當頁面加載失敗時隱藏divs,當頁面加載第一次時顯示的div可以正常工作。

它也許很難描述,但是看看代碼在本頁面: http://cheynewallace.com/custom/about/

根據經驗選項卡上,「此站點」選項卡和「聯繫人」選項卡,可以看到第一個字是一個粗體的「發送」,這是即時通訊嘗試使用。你可以看到所有三個「發送」按鈕是完全一樣的。

那麼爲什麼它只適用於1?選擇器im使用將選擇.send的所有類。

Cheers

+0

對不起,我還要提到我使用Head.js,並從head.ready運行的代碼()塊 – Cheyne

+0

我m不知道它是否有幫助,但是當您從一個標籤切換回開始時,第一個「發送」鏈接不再起作用... – dpmguise

+0

實際上,添加到我的觀點。只要該元素再次隱藏,它似乎刪除了jQuery所做的選擇。 – Cheyne

回答

1

由於您在該塊中更改了HTML,事件綁定被刪除。您可以使用live()方法將處理程序附加到與當前選擇器匹配的所有元素(現在和將來)的事件。在你的情況下,它會是這樣的:

$(".send").live("click", function() {alert("Something")}) 

更多here

+0

真棒,謝謝安德烈... jQuery永遠不會有一些答案..我愛它.. – Cheyne

+0

頁面。對於閱讀此頁面的其他人,即時刪除演示按鈕。 – Cheyne