我只是好奇,如何在document.getElementById()之後調用自定義函數?事情是這樣的:如何添加自定義函數以在document.getElementById之後調用?
document.getElementById("element").mycustomfunction();
我只是好奇,如何在document.getElementById()之後調用自定義函數?事情是這樣的:如何添加自定義函數以在document.getElementById之後調用?
document.getElementById("element").mycustomfunction();
從技術上講,你可以這樣做:
Element.prototype.mycustomfunction = function() {
console.log("I don't work on IE7");
};
您可以輕鬆地測試它在控制檯此頁上:第一,然後document.getElementById("notify-container").mycustomfunction();
輸入。
它的工作原理。沒有技術問題。但是它可能會讓維護者的應用程序難以跟蹤發生的情況,這可能會導致與其他插件相同的衝突,而且它並沒有真正增加myPlugin.doSomething(element)
。
以下是爲什麼不應該這樣做的一些原因:http://perfectionkills.com/whats-wrong-with-extending-the-dom/ – bfavaretto
@bfavaretto:這是一篇很老的文章,主要適用於IE6/7。 – 2013-05-25 19:07:27
謝謝你的回答,僅僅是爲了看到這個頁面的任何未來的人不想閱讀整篇文章,請你列舉一些爲什麼我不應該**使用它的原因? – Zachrip
你**可以**添加一個函數元素的原型,但你不應該。爲什麼你不能簡單地將元素作爲參數傳遞給你的自定義函數? –
這取決於'mycustomfunction()'是什麼 – samayo
@dystroy我可以做到這一點,我知道如何,我只是好奇,我怎麼能做到什麼問。 – Zachrip