2016-09-20 5 views
0

こんにちは私はDOMのプロパティを置き換えている "実践者"または "患者"を持つjsの2つの関数を持っていますが、かわった。 @RobGのコメントに基づいてJavaScriptのDOMのinnerHTMLを変更するには

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); 
    } 
    } 
} 
+0

ためel.innerHTML=el.innerHTML.replace("Practitioner", replaceTo); おかげでした追加した後に働いているように私には、質問の答えを追加しましたフィドルを作成しますか? –

+0

もちろん...私はフィドルを作成します – Tanmay

+2

'el.innerHTML.replace(" Patient "、replaceTo)'は変更された文字列を返します。何も設定しません。新しい値に設定するには、返された文字列をプロパティに代入する必要があります。したがって、............ 'el.innerHTML = el.innerHTML.replace(" Patient "、replaceTo)' – RobG

答えて

0

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>

それはあなたがhelp.Thanks @RobG

関連する問題