2015-11-19 107 views
-1

當按鈕被點擊時,我需要用DR Smith替換範圍標籤中的名稱。我應該使用帶有兩個參數的替換(標記,值)函數來完成它。我該怎麼做,請幫忙。我寫了一段代碼,但它不會工作。替換javascript中的文本

<html> 
<head> 
<script src="q1.js" type="text/javascript"> </script> 
</head> 
<body> 
Dear <span id="salutation">Name</span>; 
<p> 
It has come to our attention that your invoice 
</p> 
<button onclick="format()">Format</button> 

</body> 
</html> 

js代碼

function format(){ 

    var x = document.getElementsById('salutation') 
    x.innerhtml = "Dr Smith"; 
} 
+4

'getElementsById' - >'getElementById','innerhtml' - >'innerHTML','格式()' - >'替換( )'(儘管你還沒有使用參數) –

+0

'format()'函數在哪裏 – Ramanlfc

+0

我改變了它,但它仍然不會工作 – NewProgrammer7

回答

0

您的函數名稱需要稍作修改。使用document.getElementById(),而不是document.getElementsById()。 (單數,不是複數)。

還記得JS是區分大小寫的。使用.innerHTML =,而不是.innerhtml =

現在,您只需要定義您的函數帶兩個參數:function(tagId,tagText),然後從您的按鈕OnClick()事件調用它。

這裏是一個工作示例:

function format(tagId, tagText) { 
 
    document.getElementById(tagId).innerHTML = tagText; 
 
}
Dear <span id="salutation">Name</span>; 
 
<p>It has come to our attention that your invoice</p> 
 
<button onclick="format('salutation','Dr Smith')">Format</button>

1

document.getElementsById('salutation'),這是getElementByIdx.innerhtml = "Dr Smith";,這是innerHTML

function format(){ 

      var x = document.getElementById('salutation'); 
      x.innerHTML = "Dr Smith"; 
    }