0

我有一個與Chrome擴展本地化相關的查詢。我正在嘗試本地化我的擴展程序中彈出式HTML文件中的按鈕中的文本。我使用的代碼如下:Chrome擴展中的本地化

<button name="buttonSave" id="buttonSave" style="width: 100px; float: right;"> 
     <label class="buttonTextStyle"> 

     </label> 
</button> 

JavaScript代碼如下:

document.getElementById("buttonSave").innerText = chrome.i18n.getMessage("SaveButton"); 

我一直在使用的innerText,innerHTML的,價值卻在按鈕上的文字試圖不適用。我在這裏做錯了什麼?

回答

2

我只想用<input type="button">和設置按鈕的value屬性:

<input type="button" name="buttonSave" id="buttonSave" style="width: 100px; float: right;"> 

.... 

document.getElementById("buttonSave").value = chrome.i18n.getMessage("SaveButton"); 

順便說一句,我有一個嵌套的<button><label>相當肯定是無效的HTML。改爲使用<div><span>

編輯

我只是做了一個測試,並使用兩種.innerHTML.innerText應該能正常運行。您確定:

  1. 返回值chrome.i18n.getMessage("SaveButton")是否非空?

  2. 您正在運行document.getElementById("buttonSave") DOM構建後(即,document.getElementById("buttonSave")不爲空或引發錯誤)?

而且,明白覆蓋innerText或按鈕的innerHTML會破壞你已經按鈕內部的元素。也許你真的想要做document.querySelector("#buttonSave .buttonTextStyle").innerText來編寫嵌套在按鈕中的元素?

+0

謝謝。 :)'document.querySelector(「#buttonSave .buttonTextStyle」)。innerText'完成了這個任務。 – 2012-07-24 05:45:50