我正在使用JavaScript在我的網站上運行一些AB測試。我可以用element.innerHTML = "Text that I want"
更改<button>
的文字,但使用相同的策略我無法更改<input type="submit">
的文字。相反,我可以使用element.value = "Text that I want"
更改提交按鈕的值,但不能以這種方式更改<button>
的文本。如何判斷我的元素是否需要innerHTML或值
所以我的問題是,我怎麼能知道哪個函數需要在特定元素上使用,以便我可以創建一個算法來處理每種類型的元素?
總之:如何知道是以編程方式使用element.innerHTML
還是element.value
?
注意: jQuery是不允許的。
示例 - 以下代碼將類名稱作爲輸入並更改整個頁面中的元素。有時<input>
可能具有識別類別,但有時可能是<div>
,<button>
或<p>
。
var execute = function(experimentName, variation){
var elements = document.getElementsByClassName(experimentName);
for (var j = 0; j < elements.length; j++) {
if (typeof(variation) == "function")
{
variation.call(elements[j]);
}
else
{
elements[j].value = variation;
//elements[j].innerHTML = variation;
}
}
};
不錯。 http://jsfiddle.net/qqvpy1se/1/ – 2015-02-08 18:58:36
偉大的方法。你把它帶到下一個層次。 – roshan 2015-02-08 19:01:20