2011-01-13 6 views
0

これは私をナットにしています。jQuery - Cant Select HIdden Elements

IvはjQueryを使用してページを作成しましたが、ここに貼り付けるには大きすぎますが、カットダウンの例を投稿してください。

空に読み込まれるコンテンツペインがあります。

は、次に連絡先の詳細、サイトの詳細など

アイデアは、あなたがボタンをクリックしたときに、私は単に空白のコンテンツペインにdiv要素の内容をスワップであるため、コンテンツと、3つの隠されたdiv要素がある(DIV)きれいにそれを出し入れしてください。

これはすべて正常に動作しますが、ここに私の問題があります。

連絡フォームに送信ボタンがありますが、何をしようとしてもjQueryで選択できません。

Ivは、その背後にあるすべての連絡先コードを取り除きました。現在、私がしようとしているのは、アラートボックスをポップアップすることです。

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

すなわち、私が思い付くことができる唯一の結論は、ページのロード時の接触パネルが隠されているためということですその、それを選択することができません。

他の2つのdivに同じ[送信]ボタンを追加し、ページの読み込みに失敗したときに表示されるdivsのみが表示されます。

説明しますが、このページのコードを見てみることを多分難しい

その: http://cheynewallace.com/custom/about/

経験タブで、「このサイト」タブと「接触」タブで、あなたが最初の単語を見ることができます太字の "送信"ですが、これは私が使用しようとしているものです。 3つの「送信」ボタンは全く同じです。

なぜ、それは1でのみ機能しますか?セレクタを使用すると、すべての.sendクラスが選択されます。

乾杯

+0

here続きを読む申し訳ありませんが、私は「 – Cheyne

+0

をブロックする)(私はHead.jsを使用して、そしてhead.readyからコードを実行しているにも言及する必要がありますあなたが1つのタブから最初に戻ったときに、最初の「送信」リンクがもう働かない... – dpmguise

+0

実際には、それは私のポイントに追加されます。その要素が再び非表示になると、jQueryが行った選択が削除されたように見えます。 – Cheyne

答えて

1

このブロックでHTMLを変更すると、イベントバインディングが削除されます。現在と将来の現在のセレクタに一致するすべての要素のイベントにハンドラをアタッチするlive()メソッドを使用できます。あなたのケースでは、それは次のようになります:

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

+0

素晴らしい、ありがとうAndrei ... jQueryは何らかの答えを持っていることは決してありません..愛しています.. – Cheyne

+0

p.s ..このページを読んでいる人には今すぐデモボタンを削除してください。 – Cheyne