使用jquery和ajax从许多其他div中选择和更新特定div

时间:2017-01-22 09:15:41

标签: javascript jquery json ajax laravel

我有一个社交网站,其中有100个帖子在循环中显示,它类似于facebook时间线。 我想要做的是异步更新帖子的特定部分,但我无法选择目标div,因为有100个其他div包含相同的类。

我试过了:

    $(this).find('.response-content).html(data);

但它没有用。当我尝试:

    $('.response-content).html(data);

它有效,但所有帖子都在更新而不是所需的帖子。我试图为所有帖子提供唯一的类名,但是在jquery选择器中也很难获得post id。 请帮忙。  In the screenshot you will see I have evaluation heart below each post, all I want is to update the icon based on the evaluation I made.

非常感谢您的帮助。提前谢谢。

这是jquery:

        $('#evaluatePost button').click( function(event){
    event.preventDefault();
    var evaluationScore = $(this).val();
    var formData = new FormData(this.form);
    formData.append("ratedAs", evaluationScore);
    $.ajax({
            cache: false,
            contentType: false,
            processData: false,
            type: 'POST',
            url: '/koolw/public/evaluate',
            data: formData,
            success: function(data){
               console.log(data);
              $(this).find('.response-content').html(data);

            },
            error: function(data){
               console.log(data);
            }
        });

});

注意:页面中至少有50个'.response-content'类。那么,我该如何选择具体的呢?

1 个答案:

答案 0 :(得分:0)

使用.eq()函数怎么样?

以下是一个简单的例子。

  <!DOCTYPE html>
    <html>
    <head>
      <title>Testing</title>
      <!-- jQuery 2.2.3 -->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/core.js"></script>
    </head>
    <body>
      <div class="content"> 
          <p>Hello</p>
      </div>
      <div class="content"> 
          <p>Hello</p>
      </div>
      <div class="content"> 
          <p>Hello</p>
      </div>
      <script>
         $(document).ready(function() {
              $(this).find('.content').eq(0).css( "background-color", "red" );
          });
      </script>
    </body>
    </html>

参考: https://learn.jquery.com/using-jquery-core/jquery-object/