使用javascript在带有unque id的html标签标记中显示数组中的文本
我是javascript新手, 我有以下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
<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];