使用javascript在带有unque id的html标签标记中显示数组中的文本

使用javascript在带有unque id的html标签标记中显示数组中的文本,javascript,arrays,innerhtml,innertext,Javascript,Arrays,Innerhtml,Innertext,我是javascript新手, 我有以下html代码: <form role="form" > <label for="element1" id="element1_label"></label> <input type="text" id="element1" /> <label for="element2" id="element2_label"></label> <input type="text

我是javascript新手, 我有以下html代码:

<form role="form" >       
<label for="element1" id="element1_label"></label>
<input type="text" id="element1" />

<label for="element2" id="element2_label"></label>
<input type="text" id="element2" name="element2">

<label for="element3" id="element3_label"></label>
<input type="number" id="element3" name="element3s">

<button type="submit" >submit</button>
我想在每个html标签中显示piced数组索引的值。 例如:

<label for="element1" id="element1"> text1 </label>
<input type="text" id="element1" />

<label for="element2" id="element2"> text2 </label>
<input type="text" id="element2" name="element2">
text1
文本2

但此代码不会更改标签标签的文本。有什么问题吗?

innerText
是本机属性,而不是jQuery属性。jQ等效的方法是
text()
方法。更改为:

 jQuery(this).text(options[piced][jQuery(this).attr('id')]);
或(从jQuery堆栈检索本机元素引用)


下面是一个普通的Javascript方法,它循环遍历标签并将每个标签的
textContent
labels[i].textContent
)写入如下:

var piced='opt';
变量选项={
选择:{
元素1_标签:“text1”,
元素2_标签:“text2”,
元素3_标签:“text3”,
},
新选择:{
元素1_标签:“新文本1”,
element2_标签:“新文本2”,
element3_标签:“新文本3”,
}
};
var labels=document.getElementsByTagName('label');
对于(变量i=0;i


提交
ID
在整个页面中都应该是唯一的!我更改的ID仍然无效。请不要使用
$(this).attr('ID')
$(this).prop('ID')
;简单地使用
this.id
,它是如此的便宜和容易。你可能应该向OP解决这个问题。我解决了他的主要问题;我刚才复制了您引用的部分。当然,但是注释是在您的答案上,因为您将该部分复制到了工作代码中,并且没有解释为什么使用jQuery检索节点的跨浏览器属性是不必要的,也是不必要的。此外,我认为,OP也会收到对您答案的评论通知,而且当OP审查答案时,他/她(大概)也会看到评论。我不知道为什么,但在我的代码
var labels=document.getElementsByTagName('label')返回空!我在wordpress中使用这个,我也不知道为什么。在javascript中,
document.getElementsByTagName('ELEMENT')
将始终返回包含所有这些元素的节点列表。
 jQuery(this).text(options[piced][jQuery(this).attr('id')]);
jQuery(this)[0].innerText = options[piced][jQuery(this).attr('id')];
options[piced][labels[i].id];