gpt4 book ai didi

javascript - “checked”为 null 或不是对象 - 仅限 IE

转载 作者:行者123 更新时间:2023-11-30 23:45:45 25 4
gpt4 key购买 nike

此问题仅存在于 IE 浏览器中,在 mozilla 中工作正常...我必须在单击复选框时删除一行...这是我的代码:

<table width="100%" id="seller">
<tr id="row_1" class="row">
<td><input type="checkbox" name="delete_seller" id="delete_seller" value="1" /></td>
</tr>
<tr id="row_2" class="row">
<td><input type="checkbox" name="delete_seller" id="delete_seller" value="2" /></td>
</tr>
</table>
<input type="button" id="delete" name="delete" value="Delete" onclick="delete_row('seller')"/>
<小时/>
    var delete_ids = [];
function delete_row(tableID){
var rows = document.getElementsByClassName('row');
var delItems = document.getElementsByName('delete_seller');

for(var i=0;i < rows.length;i++){
if(delItems[i].checked == true){
delete_ids.push(rows[i].id);
jQuery(rows[i]).remove();
i = i-1;
}
}
}

页面上显示错误:“checked”为空或不是对象
请告诉我修复方法。

提前致谢,斯里兰卡..

最佳答案

您可以用 jQuery 替换循环,如下所示:

delete_ids.push.apply(delete_ids,
$('tr.row:has(.delete:checked)').remove()
.map(funcion() { return this.id; })
);

这将选择 :has 具有 :checked.delete 元素的所有 tr.row 元素.
它调用 .remove() 删除行,然后调用 .map() 获取行的 ID,并应用 push 函数将它们添加到您的数组中。

您可以通过将其更改为来避免push.apply

    $('tr.row:has(.delete:checked)').remove()
.each(funcion() { delete_ids.push(this.id); });

编辑:试试这个:

    $('tr.row:has(.delete_seller:checked)')
.each(funcion() { delete_ids.push(this.id); })
.remove();

关于javascript - “checked”为 null 或不是对象 - 仅限 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3069870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com