为什么 name 属性无法使用 JavaScript 进行设置
why name attribute couldn't set using javascript?
我希望在 JavaScript 中更改 name 属性,但我无法使用 element.name
或 setAttribute()
方法更改 name
属性。有没有其他方法可以设置 name
属性?
var status_Element = document.getElementsByName("BD_task_status_"+old_id+"[]");
var final_status_Element = document.getElementsByName("BD_final_task_status_"+old_id+"[]");
for(var in_count=0;in_count<status_Element.length;in_count++)
{
status_Element[in_count].name="BD_task_status_level"+inner_count+"[]";
final_status_Element[in_count].name="BD_final_task_status_level"+inner_count+"[]";
}
按照示例中设置 name
属性将起作用(除了 inner_count
与in_count
拼写错误)。问题是getElementsByName
返回元素的实时集合。当您更改索引 0 处的元素名称时,它不再属于集合,并且集合会删除它;那么曾经位于索引 1 处的元素现在位于索引 0 处。但与此同时,你增加了in_count
,所以你永远不会改变这个元素。其中一半最终不会改变。
也:
-
向后循环访问集合以更改名称(因为那时消失的元素在末尾,您不在乎),或者
-
请改用
querySelectorAll
,这将为您提供快照集合(而不是实时集合)。(querySelectorAll
在所有现代浏览器和IE8上都受支持。
相关文章:
- 通过Javascript设置Telerik RadTreeView属性,如OnClientNodeExpanded
- 使用javascript设置iframe的高度
- 通过JavaScript设置表单目标
- 如何确定相对较新版本的IE的高度和宽度(IE8不喜欢从JavaScript设置这种样式吗?
- 通过JavaScript设置的表单字段的值不会作为$_POST的一部分传递给PHP脚本
- 如何在Internet Explorer中使用javascript设置cookie
- Javascript设置日期不起作用,显示错误的时间
- iOS Safari Javascript设置超时问题
- 使用Javascript设置库中图像包装器的宽度
- 如何检查日期选择器和时间选择器元素是否使用JQuery/Javascript设置
- 如何使用javascript设置元素旋转和动态观察的动画
- 在 PHP 块中使用 Javascript 设置 HTML 文本框的值(使用 echo)
- 通过javascript设置IE特定的css样式
- Javascript-设置cookie并拉入ID
- ASP从Javascript设置控件值
- 尝试使用window.innerHeight和Javascript设置图像高度
- 使用JavaScript设置整个页面的字体大小
- 使用纯Javascript设置最小高度属性
- 如何通过javascript设置支柱列表2
- 使用 JavaScript 设置 的点击