Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        6年前关闭。
                    
                
        

我有一个呈现的HTML(部分)如下所示:

<tr>
    <td>
        sds
    </td>
    <td>
        2014-03-23
    </td>
    <td>
        <div class="jsDelete" data-id="1035">Delete</div>
    </td>
</tr>
<tr>
    <td>
        hgfg
    </td>
    <td>
        2014-03-23
    </td>
    <td>
        <div class="jsDelete" data-id="1037">Delete</div>
    </td>
</tr>
<tr>
    <td>
        gfgh
    </td>
    <td>
        2014-03-23
    </td>
    <td>
        <div class="jsDelete" data-id="1038">Delete</div>
    </td>
</tr>


我有一个JavaScript,看起来像这样:

$(document).ready(function () {
$('.jsDelete').click(function (e) {
    e.preventDefault();
    $.ajax({
        url: "/MemberJoinDate/FindUser",
        type: "POST",
        dataType: "json",
        data: { term: $(this).attr('data-id') },
        success: function (data) {
            bootbox.confirm('Are you sure you want to delete user ' + data.CocUserName + '?',
                function (result) {
                    if (result) {
                        $.ajax({
                            url: "/MemberJoinDate/JsDelete",
                            type: "POST",
                            dataType: "json",
                            data: { id: data.Id },
                            success: function (delData) {
                                $('tr td div[data-id="' + delData.model.Id + '"').parent().parent().remove();
                            },
                            error: function (xhr, ajaxOptions, thrownError) {
                                alert(xhr.status);
                                alert(thrownError);
                            }

                    });
                    }
                });
        }
    });
    return false; // prevent default
});
});


在Firefox,Internet Explorer和Google Chrome中单击“删除”时,它就像一个超级按钮一样工作,但是在Safari(5.1.7)中执行相同操作时,它不起作用!

发生的是该行$('tr td div [data-id =“'+ delData.model.Id +'”').parent()。parent()。remove();实际上是被调用的,但是在Safari中什么也没发生(嗯,服务器已经响应并删除了应该删除的内容,只有浏览器才删除该元素)。

我什至尝试将行更改为:

var elm = $('tr td div[data-id="' + delData.model.Id + '"').parent().parent();
alert(elm.length);
elm.remove();


它确实在警报框中显示“ 1”,但在Safari中根本不会删除任何对象。

有什么提示吗?

最佳答案

$('[data-id="' + delData.model.Id + '"]').parents('tr').remove();


尝试此操作,您的sintaxis缺少一个错误“]”。

10-02 01:21