プリン+醤油=ウニみたいな組み合わせメニューを教えて!

javascriptとperlを駆使して、動的なホームページを作っています。

javascriptで動的にタグを生成してそれを参照したりするような処理を、書いていくと時々新しく生成したタグを参照できなくなったりします。ここにスクリプトを掲載することは出来ないんですが、ajax通信でサーバーとデータをやり取りし、何度もhtmlを書き換えるホームページを作っています。するとなぜだか新しく生成したタグが参照できなくなったりします。

他にはjqueryのappendメソッドで、タグを文字列として直接書き込んだ場合、タグをタグとして認識してくれないということもありました。

javascriptに原因があるのか、domに原因があるのか、それともテスト用のブラウザに使っているfirefoxの処理の仕方に原因があるのかわかりません。どなたか原因を知っている方がいらしたら是非ご教授ください。

A 回答 (2件)

#1のお礼に書かれたスクリプトでいえば、


jQueryの $(~).click とかって、該当する要素を常に監視してるわけじゃなくて、それを「実行したとき」に該当する要素に対してコールバック関数を紐付けるもの。後で追加した要素にまで影響するものではないです。

質問で書かれている他の状況が全て同じ原因かどうかわかりませんが、まずは使っているライブラリや関数の仕様・動作を知っておかないと。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
参考になりました

お礼日時:2009/04/01 19:56

簡単なものでいいので現象が確認できるソースの提示が必要でしょう。


基本的にはきちんと書いていれば問題ないはずです
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

<script src="../jquery.js"></script>
<script>
$(document).ready(function(){
$(":checkbox").click(function(){
alert("ok!");
});

});
function aa(){
$("#a").append('<input type="checkbox">');
}
</script>
<input type="button" value="生成" onclick="aa()">
<input type="checkbox">
<a id="a"></a>

たとえば、このスクリプトだと元からhtmlに埋め込んであるチェックボックスをクリックすると$(":checkbox").clickでイベントを実行できますが、<input type="button" value="生成" onclick="aa()">でつくったチェックボックスは$(":checkbox").clickでイベントを実行することが出来ません。

原因がわかりません。よろしくお願いします。

お礼日時:2009/03/31 23:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報