Jquery CSS没有在Post上使用div

时间:2015-03-30 02:56:35

标签: jquery css

我有一个使用jquery的post方法获取div的页面。然后我尝试将css应用于div并且它不起作用。当我使用jquery在已经在页面上的div上应用css时,它适用于它们。

Jquery的:

$('#next').click(function() {

    $.post('getquestions.php', {number: number}, function(result){

        $('#questionArea').html(result);
    });

$('.quest').css( "border", "13px solid red" );  //this doesn't work

});

从getquestions.php中回应(这是正常的):

    echo "<div id='question" . $question_number . "' class='quest'>";

3 个答案:

答案 0 :(得分:1)

这是因为当你执行jquery的quest函数时,你的类css的div是不可用的。由于$.post是一个异步函数,所以当$('#questionArea').html(result);的回调执行时,div只会被$.post添加到DOM中,所以你应该在那里进行css调用。

应该是这样的:

$('#next').click(function() {

    $.post('getquestions.php', {number: number}, function(result){

        $('#questionArea').html(result);
        // the div is just added
        $('.quest').css( "border", "13px solid red" );
    });
    // the div is not added to DOM yet since $.post has not finished fetching the result

});

答案 1 :(得分:0)

尝试使用$(document).find('.quest')

答案 2 :(得分:0)

在发布请求后尝试在.done()中添加css怎么样?喜欢

$.post( "example.php", function() {

    alert( "success" );

})

.done(function() {

    alert( "second success" );

});

var posting = $.post( url, { s: term } );

// Put the results in a div

posting.done(function( data ) {

var content = $( data ).find( "#content" );

$( "#result" ).empty().append( content );

});

来源:jQuery.post