如何在Ajax请求成功后移除包含特定data-value属性td的tr元素
问题解决方法
你的代码无法生效的核心原因是选择器中的identity被当作字符串字面量处理,而不是引用你定义的变量,导致jQuery找不到data-value为"identity"的元素。
修正后的代码
你需要把变量identity插入到选择器字符串中,有两种常用写法:
写法1:字符串拼接
success: function (data) { var identity = data.val; // 得到数值2 // 拼接变量到选择器中 $('td[data-value=' + identity + ']').closest('tr').remove(); },
写法2:ES6模板字符串(更简洁)
如果你的环境支持ES6语法,可以用模板字符串:
success: function (data) { var identity = data.val; // 得到数值2 // 使用模板字符串插入变量 $(`td[data-value=${identity}]`).closest('tr').remove(); },
额外提示
如果data.val返回的是字符串类型,建议给属性值加上引号,避免潜在的选择器解析问题:
$('td[data-value="' + identity + '"]').closest('tr').remove();
这样就能精准定位到data-value匹配的<td>,再通过.closest('tr')找到它所在的行,最后用.remove()从DOM中移除整行。
内容的提问来源于stack exchange,提问作者Jack Maessen
相关产品推荐
相关产品推荐

