我想要構建自己的PROP
函數,就像Jquery
那樣,但純粹爲Java script
。Javascript將字符串轉換爲對象屬性
這是我的代碼:
3210如何字符串轉換成對象的屬性?聽說eval
會有用嗎?但爲什麼我得到了下面的錯誤?
ReferenceError: disabled is not defined
我的代碼出了什麼問題?
我想要構建自己的PROP
函數,就像Jquery
那樣,但純粹爲Java script
。Javascript將字符串轉換爲對象屬性
這是我的代碼:
3210如何字符串轉換成對象的屬性?聽說eval
會有用嗎?但爲什麼我得到了下面的錯誤?
ReferenceError: disabled is not defined
我的代碼出了什麼問題?
您應該而不是使用eval()
將屬性名稱轉換爲屬性。使用Property accessors
。例如,el[dom]
或el.dom
。
如果Object
是HTML
元素,則可以使用setAttribute
和getAttribute
可用的方法。
當您將字符串作爲參數傳遞給eval時,它會嘗試將該字符串表示爲java腳本代碼。
在這裏,你已經傳遞了一個字符串disabled
。
它被表示爲:
disabled;
的解釋,現在試圖找到一個名爲disabled
變量。由於disabled
不是我們在上下文中定義的變量,因此會引發錯誤:ReferenceError: disabled is not defined
。
要驗證這一點,請嘗試定義一個變量,然後調用它的eval()
函數。
var disabled = 10;
console.log(eval("disabled"));
打印:#10
這是因爲您正在嘗試評估單獨「禁用」的內容。 eval("document.getElementById('submitButton').disabled")
會工作。
這一個也工作!感謝Aiman Al-Eryani。你是最好的!! –
使用 - 'EL [DOM]',或'el.setAttribute(DOM,值)'操縱'一個'el'的properties'。 – BatScream
^你應該使用這個。 –
哇蝙蝠俠,你的方法是完美的!非常感謝!!!!不管怎樣,我不知道是什麼樣的人給我這個問題的投票大聲笑 –