1

私はjqueryでメッセージングシステムを書いています。クラス「.open_message」のスレッド タイトルをクリックすると、Ajax を介してそのスレッドのすべてのメッセージを含むスレッドが開きます。私の問題は、スレッド タイトルをクリックすると、Firefox と IE で特定のスレッド タイトルの id 属性が認識されないことです。ただし、クロムでは問題なく動作します。コードは次のとおりです。

$('.open_message').on('click', function(e) {
        $(this).parent().removeClass('unread');
        $(this).parent().addClass('read');
    $('.message_container').html('');
    var theID = e.currentTarget.attributes[0].value;
    theID = theID.replace('#', '');
    var url = '".$url."'; 
    var dataString = 'thread_id=' + theID; 
    $('.message_container').append('<img id=\"loading\" src=\"' + url + '/images/loading.gif\" width=\"30px\" />');
        $.ajax({
            type: 'POST',
            url: 'get_thread.php',
            data: dataString,
            success: function(result) {
                $('#loading').hide();
                $('.message_container').append(result);
            }
        });
    return false;
});

助けてくれてありがとう!

4

1 に答える 1

0

クリック イベント内では、 を使用して要素 ID にアクセスできますthis.id。したがって、以下から始めるべきです...

$('.open_message').on('click', function(e) {
    var dataString = 'thread_id=' + this.id,
        url = '".$url."'; 
    $(this).parent().removeClass('unread').addClass('read');   // Combine for speed
    $('.message_container').html('').append( etc...

    etc...

});

私にはあなたのvar url = '".$url."';見た目がおかしくなっていることを認めますが、そのビットは正常に機能していると思います;)

を使用することもできます$.post(ここに示すように)。

于 2012-09-09T03:29:20.010 に答える