如何在javascript中改变DOM的innerHTML
How to change the innerHTML of the DOM in javascript
嗨,我在js中有两个函数,它正在替换DOM的属性,有"从业者"或"患者",但它正在进入循环和条件,但没有被改变。
function ReplaceInnerHtml(el, type, replaceTo) {
if (el != "" && el != null) {
if (type == "Practitioner") {
el.innerHTML.replace("Practitioner", replaceTo);
} else if (type == "Patient") {
el.innerHTML.replace("Patient", replaceTo);
}
}
}
function SetAllDivLabelCaption(OABPreferences) {
var listlabel = document.getElementsByTagName("label");
var listspan = document.getElementsByTagName("span");
var listdiv = document.getElementsByTagName("div");
for (var i = 0; i < listlabel.length; i++) {
if (listlabel[i].innerHTML.indexOf("Practitioner") > -1) {
ReplaceInnerHtml(document.getElementById(listlabel[i].id), "Practitioner", OABPreferences.OABRenamePractitioner);
} else if (listlabel[i].innerHTML.indexOf("Patient") > -1) {
ReplaceInnerHtml(document.getElementById(listlabel[i].id), "Patient", OABPreferences.OABRenamePatient);
}
}
for (var i = 0; i < listspan.length; i++) {
if (listspan[i].innerHTML.indexOf("Practitioner") > -1) {
ReplaceInnerHtml(document.getElementById(listspan[i].id), "Practitioner", OABPreferences.OABRenamePractitioner);
} else if (listspan[i].innerHTML.indexOf("Patient") > -1) {
ReplaceInnerHtml(document.getElementById(listspan[i].id), "Patient", OABPreferences.OABRenamePatient);
}
}
for (var i = 0; i < listdiv.length; i++) {
if (listdiv[i].innerHTML.indexOf("Practitioner") > -1) {
ReplaceInnerHtml(document.getElementById(listdiv[i].id), "Practitioner", OABPreferences.OABRenamePractitioner);
} else if (listdiv[i].innerHTML.indexOf("Patient") > -1) {
ReplaceInnerHtml(document.getElementById(listdiv[i].id), "Patient", OABPreferences.OABRenamePatient);
}
}
}
function ReplaceInnerHtml(el, type, replaceTo) {
if (el != "" && el != null) {
if (type == "Practitioner") {
el.innerHTML=el.innerHTML.replace("Practitioner", replaceTo);
}
else if (type == "Patient") {
el.innerHTML= el.innerHTML.replace("Patient", replaceTo);
}
}
}
function SetAllDivLabelCaption() {
var listlabel = document.getElementsByTagName("label");
var listspan = document.getElementsByTagName("span");
var listdiv = document.getElementsByTagName("div");
for (var i = 0; i < listlabel.length; i++) {
if (listlabel[i].innerHTML.indexOf("Practitioner") > -1) {
ReplaceInnerHtml(document.getElementById(listlabel[i].id), "Practitioner", "ROB");
}
else if (listlabel[i].innerHTML.indexOf("Patient") > -1) {
ReplaceInnerHtml(document.getElementById(listlabel[i].id), "Patient", "BOB");
}
}
for (var i = 0; i < listspan.length; i++) {
if (listspan[i].innerHTML.indexOf("Practitioner") > -1) {
ReplaceInnerHtml(document.getElementById(listspan[i].id), "Practitioner", "ROB");
}
else if (listspan[i].innerHTML.indexOf("Patient") > -1) {
ReplaceInnerHtml(document.getElementById(listspan[i].id), "Patient", "BOB");
}
}
for (var i = 0; i < listdiv.length; i++) {
if (listdiv[i].innerHTML.indexOf("Practitioner") > -1) {
ReplaceInnerHtml(document.getElementById(listdiv[i].id), "Practitioner", "ROB");
}
else if (listdiv[i].innerHTML.indexOf("Patient") > -1) {
ReplaceInnerHtml(document.getElementById(listdiv[i].id), "Patient", "BOB");
}
}
}
<h1 id="title">Javascript example no.2</h1>
<label id="lbl1">Label-Practitioner</label><br/>
<label id="lbl2">Label-Again Prac Pat</label><br/>
<label id="lbl3">Label-Patient</label><br/>
<span id="spn1">Span-Practitioner</span><br/>
<span id="spn2">Span-Again Practitioner</span><br/>
<span id="spn3">Span-No Prac</span><br/>
<div id="dv1">Div-Practitioner</div><br/>
<div id="dv2">Div-Again Practitioner</div><br/>
<div id="dv3">Div-No Prac</div><br/>
<button onclick="SetAllDivLabelCaption();">
Replace
</button>
在@RobG评论的基础上,我添加了问题的答案,因为它在添加el.innerHTML=el.innerHTML.replace("Practitioner", replaceTo);
后工作谢谢你的帮助。由于@RobG
相关文章:
- 即使在 DOM 加载后也无法设置 null 的 .innerHTML
- 将input复选框的DOM属性更改反映到innerHTML属性中
- 将特定深度的innerHTML提取到DOM树结构中
- javascript dom innerhtml scrollheight performance
- 在javascript中将innerHTML字符串转换为DOM结构
- JSON to DOM or innerHTML?
- innerHTML on DOM?
- getElementByClass节点innerHTML已更新,但未在DOM中更新
- 使用.使用DOM的innerHTML
- DOM元素创建vs.innerHTML vs.Direct
- NotFoundError:替换innerHTML时DOM异常8
- dom节点的innerHTML替代品
- 设置 innerHTML:为什么它不会更新 DOM
- jQuery . HTML()和.append()呈现的内容与HTML DOM innerHTML属性不同
- 手动修改DOM的innerHTML会停止ReactJS监听器
- 即使DOM显示innerHTML, Textarea也不会在UI中显示内容
- 滚动调整在非ie浏览器加载图像(JavaScript/DOM)后不能正常工作;定时问题w/innerHTML
- 将表单值传递给PHP,包括HTML DOM内部的innerHTML
- HTML DOM innerHTML Property
- 使用JavaScript访问DOM innerHTML时出现问题