2016-02-05 76 views
4

我厭倦了寫作和閱讀getElementByIdgetElementsByTagName ...讓我的編程更難。JS重命名方法

所以我想重新命名它們。我希望他們是getId,getTagsgetClasses

這是一個微圖書館,我以後。我怎樣才能得到最低的CPU使用率的結果?

至少var doc = document;很容易。

+0

因此使自己的職能,並呼籲他們... – epascarello

+0

'VAR的getId = document.getElementById.bind(文件);' – dandavis

回答

3

只分配它們。

var doc = document; 
 
doc.getId = doc.getElementById; 
 
doc.getTags = doc.getElementsByTagName; 
 
doc.getClasses = doc.getElementsByClassName; 
 
alert(doc.getId('foo').className);
<div id="foo" class="classy"></div>

如果你希望能夠留出doc.,你需要定義函數,e.g:

function getId(id) { 
    return document.getElementById(id); 
} 
+0

控制檯返回_Cannot獲得財產「的getElementById」 undefined_的(第一種方式) – Krupp

+0

它的工作原理當我嘗試它。你確定你在設置'doc.getElementById'之前設置了'doc'嗎? – Barmar

+0

確保所有'doc'的用途都在它被分配的範圍內。 – Barmar

1

功能是在Javascript中的一等公民。您可以將它們分配給變量。因此,您可以將新功能分配到document,它們將可用。

document.getId = document.getElementById; document.getTags = document.getElementsByTagName; document.getClasses = document.getElementsByClassName;

0

爲什麼不直接使用jQuery? getElementById變成$.("#theID")。您可以用$截斷「選擇器」。

+1

每個大型圖書館都會殺死CPU ......並且這不是我的風格 – Krupp

+0

幾百毫秒與繁瑣的編碼...... – ic3man7019

+0

這完全是一個偏好問題,當然。你沒有錯。我不是故意聽起來像個混蛋。 – ic3man7019