我找到了这个链接,它建议将一个表注入到一个div中。
在此处输入链接说明
下面是我想要注入的新HTML的一个示例:
<br />
<br />
<LSz class='LineSpaceDouble'>
Hi, <p class='FIRST_NAME'> </p> <br><br>
Hi <p class='FIRST_NAME'> </p>, my name is <p class='MYNAME'> </p> .
More Text.<br>
</LSz>
<br />
<label for='PBirthDate'>Primary Birthdate:</label>
<input id='PBirthDate' class='input100' type='text' name='PBirthDate' placeholder='mm/dd/yr' size='10'>
<span class='focus-input100'></span>
<br />
下面是我当前执行注入的jq代码:
var S = J;
$(S).appendTo('#Script_Displayed');
J保存要注入的HTML文本。
Script_Displayed是div的id
这是可行的--因为“文本”确实被注入到div所在的web页面中。
我的问题是当我试图更改一个值时:
var Z = document.getElementsByClassName('FIRST_NAME');
Z.innerHTML = "Anthony";
新的innerHTML值不会出现在网页上。
我可以做什么使这些更改可见?
函数GetElementsByClassName
返回元素集合,而不是单个元素。 所以这在默认情况下是不起作用的:
Z.innerHTML = "Anthony";
相反,在集合上循环,将innerHTML
值分配给集合中的每个元素:
null
var Z = document.getElementsByClassName('FIRST_NAME');
for (let el of Z) {
el.innerHTML = "Anthony";
}
Hi, <p class='FIRST_NAME'> </p> <br><br>
Hi <p class='FIRST_NAME'> </p>, my name is <p class='MYNAME'> </p> .
More Text.<br>