我有一个隐藏的文本框,其 id 是集合的一部分。我以这种方式使用 ID,以便将它们绑定(bind)到我的模型。这是我的代码的简化版本。
<input id="Model.Bed[0].Id" name="Model.Bed[0].Id" type="hidden" value="bed1">
我正在使用 Jquery 删除它,但虽然它不会引发任何错误,但它不会被删除。这是我的代码。
$('#Model.Bed[0].Id').remove();
我错过了什么吗?
最佳答案
您的 jQuery 选择器返回 0 个项目,因为它是一个无效的选择器表达式([
有不同的含义)
尝试名称选择器。这应该有效
$("[name='Model.Bed[0].Id']").remove();
请记住,允许多个元素具有相同的名称属性值。因此,请根据您的 DOM 使用。
此外,如果您在一个循环中生成了这个输入元素,并且您在这个循环中有一些按钮用于执行您的删除代码,您应该考虑使用相对选择器。 closest()
和 find()
方法在这种情况下很方便。
例如,
// Register click event with element with css class "someDeleteBtn"
$(".someDeleteBtn").click(function(e){
e.preventDefault();
$(this).closest(".containerDiv") //get to outside container
.find(".myHdnBed") // find the hidden input with this css class
.remove(); // remove
});
关于javascript - .Remove() 无法删除具有集合形式的 id 的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42012069/