如何在jQuery中按类选择当前元素?

时间:2016-10-08 06:12:54

标签: jquery

我有一个动态填充信息的循环。

<div class="main">

 <div class="more">
    more
 </div>
 <span></span>
   ....
 <div class="more">
    more
 </div>
 <span></span>

</div>

点击我打电话的特定div&#34; ajax&#34; - 成功之后,我想覆盖特定div的内容和下一个内容。

   $(document).on("click", ".more", function (event) {
            $.ajax({
                url: '..',
                datatype: 'application/json',
                success: function (data) {
                    $(".more",this).html("Update Dev"); //update div
                    $(".more",this).find('span:first').text("Update Span"); //update span 
                },
                error: function () { alert('something bad happened'); }
            });
        });

我如何访问被点击的元素。

由于

1 个答案:

答案 0 :(得分:2)

您可以使用$(this)内部点击处理程序来获取点击的按钮。确保在单击处理程序中捕获它,而不是在AJAX回调中捕获它:

$(document).on("click", ".more", function (event) {
    var clickedDiv = $(this);  // <- capture clicked div to variable

    $.ajax({
        url: '..',
        datatype: 'application/json',
        success: function (data) {
            // use captured div to set the contents
            clickedDiv.html("Update Dev");
            // use captured div and function next() to get the span element
            clickedDiv.next('span').html("Updated span");  // then update span
        },
        error: function () { alert('something bad happened'); }
    });
});