1

我正在用 jquery 编写一个消息传递系统。当您单击具有“.open_message”类的线程标题时,它会通过 Ajax 打开一个包含该线程的所有消息的线程。我的问题是,当单击线程标题时,它无法识别 firefox 和 IE 中该特定线程标题的 id 属性。不过,它在 chrome 中运行良好。这是代码:

$('.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 回答