2012-01-27 19 views
1

ページロード時にリスト要素を非表示にするためにjqueryを使用しています。コードが静的な場合、正常に動作しますが、リスト要素はPHPを介して動的に生成されており、ページが読み込まれるとすべて利用可能ではありません。 .hideをロードイベントにアタッチしようとしましたが、エラーが発生しました。.liveは関数エラーではありません

$( 'li.views-row')。liveは関数ではありません。

コードはすべてhttp://jsfiddle.net/Ypqyv/ですが、実行時にhtmlが既に存在するため、エラーは表示されません。 (いいえ、実際のサイトへのリンクは投稿できません;ファイアウォールの背後にあるデベロッパーサーバーにあります)

アイデアはありますか?私は.live()での問題についてここで答えをたくさん読んだが、それらのどれも私の状況には当てはまりません。

ETA:jquery 1.6を使用します。

+0

すべてのエラーを得ていないから削除されました。あなたのフィドルは実際の状況を表していますか? –

+0

これは私のために働く...? –

+0

できるだけ多く。私が言ったように、ライブコードのリスト項目はPHPによって生成されるので、実際にjsfiddleがあなたに正確な状況を与えることはできません。 – EmmyS

答えて

0

エラー.live is not a function errorが表示される理由はわかりませんが、とにかく.liveはこのような状況では機能しません。

<li>要素は、それらが作成されたときに、そのため$("li").live("load",handler)がトリガーしない飽きないだろうonloadとにかくオフ起動しません。 http://w3schools.com/jsref/event_onload.asp

代わりに、ページに追加するコードの直後にリスト項目を操作する必要があります。

$.ajax({ 
    url: "...", 
    data: "...", 
    type: "...", 
    success: function(data){ 
    $("<li>"+data+"</li>").hide().appendTo("#myul"); 
    } 
}); 
0

)(.live、使用しているjQueryのバージョンを確認したバージョン1.3でのみ使用可能です - 私は信じている1.8(1.8で非推奨)およびバージョン1.9

+0

OP全体を読んでいれば、私たちは1.6 '.live()'が利用可能です。 – EmmyS

関連する問題