Javascript ';选中';是否为空或不是仅对象的IE
这个问题只存在于IE浏览器中,在mozilla中,它工作正常。。。我必须删除一行点击复选框。。。。 这是我的密码:Javascript ';选中';是否为空或不是仅对象的IE,javascript,internet-explorer,Javascript,Internet Explorer,这个问题只存在于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> <
<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_id=[];
函数删除_行(tableID){
var rows=document.getElementsByClassName('row');
var delItems=document.getElementsByName('delete_seller');
对于(变量i=0;i
在页面上显示错误:“checked”为空或不是对象谁能告诉我修理方法吗 提前感谢,,
sri..您可以用jQuery替换循环,如下所示:
delete_ids.push.apply(delete_ids,
$('tr.row:has(.delete:checked)').remove()
.map(funcion() { return this.id; })
);
这将选择所有tr.row
元素:具有一个。删除元素:选中
它调用.remove()
删除行,然后调用.map()
获取行的ID,并应用推送
函数将它们添加到数组中
您可以通过将其更改为来避免推送。应用
$('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();
可以用jQuery替换循环,如下所示:
delete_ids.push.apply(delete_ids,
$('tr.row:has(.delete:checked)').remove()
.map(funcion() { return this.id; })
);
这将选择所有tr.row
元素:具有一个。删除元素:选中
它调用.remove()
删除行,然后调用.map()
获取行的ID,并应用推送
函数将它们添加到数组中
您可以通过将其更改为来避免推送。应用
$('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();
您的复选框和按钮都称为“删除”,您的delItems
变量也将包含该按钮。这个按钮没有checked属性,我猜这就是IE抱怨的地方
尽管在您给出的示例中,类为“row”的元素少于名为“delete”的元素,这意味着您在循环中没有到达delItems[i]引用按钮的点。除非页面上有更多的元素类“行”。您的复选框和按钮都称为“删除”,并且您的delItems
变量也将包含该按钮。这个按钮没有checked属性,我猜这就是IE抱怨的地方
尽管在您给出的示例中,类为“row”的元素少于名为“delete”的元素,这意味着您在循环中没有到达delItems[i]引用按钮的点。除非页面上有更多的元素类“行”。tableID的参数是什么?是的,不使用任何where tableID。需要删除。谢谢,IE中没有实现getElementsByClassname
。ID应该是唯一的delete\u seller
应该是一个类名。我正在delete\u id数组中获取值。我认为问题在于jQuery(rows[I]).remove()行;i=i-1;tableID
参数是什么?是的,不使用任何where tableID。需要删除。谢谢,IE中没有实现getElementsByClassname
。ID应该是唯一的delete\u seller
应该是一个类名。我正在delete\u id数组中获取值。我认为问题在于jQuery(rows[I]).remove()行;i=i-1+今天你打了我1秒。请添加更多的解释性文字。我的错,我编辑了我的文章,请通读…这是我正在使用的。thanks@Srinath:更改。删除以匹配您的复选框。嗨,SLaks,我更改为。删除\u卖家。但id名称对于所有行都是通用的。我正在使用循环显示列表。我应该使用var delItems=document.getElementsByName('delete_seller')获取所有信息吗;使用delItems?@Slaks,你能从我的代码中提供完整的解决方案吗。我遇到了一些问题。这件事从一天起就一直困扰着我。谢谢。今天你赢了我一秒钟。请添加更多的解释性文字。我的错,我编辑了我的文章,请通读…这是我正在使用的。thanks@Srinath:更改。删除以匹配您的复选框。嗨,SLaks,我更改为。删除\u卖家。但id名称对于所有行都是通用的。我正在使用循环显示列表。我应该使用var delItems=document.getElementsByName('delete_seller')获取所有信息吗;使用delItems?@Slaks,你能从我的代码中提供完整的解决方案吗。我遇到了一些问题。这件事从一天起就一直困扰着我。谢谢。我的错,我编辑了我的帖子,请过目…这是我正在使用的。谢天谢地,我编辑了我的文章,请仔细阅读…这是我正在使用的。谢谢