0

AJAX を使用してファイルからロードされたテキストを含む div があります。ページが読み込まれ、コンテンツも読み込まれたときに、div コンテンツに警告したいと思います。私は働きません。

var cnt = $('#htmlmsg2').get(); 
var page = $('#htmlmsg').text();
alert(+cnt+'\n'+page);

動的コンテンツも含む別の div がありますが、ファイルからロードされていません。アラートのこの部分は完全に機能します。

.get、.html、.text (!) 関数を試してみましたが、効果はありませんでした。

テキストを他の div にも読み込もうとしましたが、それに到達しようとしましたが、失敗しました。読み込んだコンテンツに後でどの div からも到達できません。それは私に常に「NaN」を与えます。

何か案は?

本体は次のようになります。

<div id="htmlmsg"></div>
<div id="container">
<div id="header"></div>
<div id="bodycontainer"><div id="htmlmsg2">loaded text from ajax, wich can not be reached somehow</div>
</div>
$.ajax({
  url: "pages/start.php",
  contentType:'application/x-www-form-urlencoded; charset=UTF-8',
  cache: false
}).done(function( html ) {
    
  $("#webtext").append(html);
  $("#htmlmsg2").html(html);
});

これがコンテンツをロードする方法です。(これはうまくいきます!)

4

1 に答える 1

2

実際、AJAX の $.get() の動作は異なります。

$.get(
    url: 'mypage.html',
    params: { key1: 'hello', key2: 'world' },
    success: (data) {
        $('#mydiv').html(data);
        alert(data);
    }
);

ページをロードするだけの場合:

$('#mydiv').load('mypage.html', function() {
    alert('It works!');
});

$('#mydiv').load('mypage.html');

アップデート:

AJAX は DOM がロードされた後に発生するため、おそらく div のコンテンツを取得していないため、successブロック内にコードを追加する必要があります。

于 2012-08-31T14:12:45.607 に答える