2016-04-21 42 views
0

我一直在尋找這個小時,沒有發現任何東西。將DOM元素轉化爲具有所有繼承性的JavaScript類

我正在製作一組預製元素(類似於bootstrap的),我希望這些元素的所有動畫都可以通過jQuery和JavaScript來處理。

所有這些元素都有名稱:DFrame,DCategory,DButton和DPanel。 我已經在javascript中創建了一組類,以及諸如onclick,onload,onhover等功能。

現在我的問題很簡單 - 我想要將上述類的每個DOM元素都轉換爲javascript類,所以它繼承了所有的函數,並且對元素(elem.doFunc())執行函數將會起作用。

我已經試過:

document.getElementsByClassName("dbutton")[0] = new DButton(); 

關於導致明顯的原因:「elem.test()是不是一個定義的函數」或沿着這些路線的東西。

感謝您的幫助!

@Edit: 這裏的例子,也許這將使它更清楚一點:

function initialize() 
{ 
    document.getElementsByClassName("dbutton")[0] = new DButton(); 
    document.getElementsByClassName("dbutton")[0].test(); 
} 
document.addEventListener('DOMContentLoaded', initialize, false); 

/* 
    Classes 
*/ 

class DFrame 
{ 

} 

class DCategoryList 
{ 

} 

class DButton 
{ 
    test() 
    { 
    console.log("shows, output, etc"); 
    } 
} 
+0

Bootstrap沒有自己的元素,只是將類添加到html中。 –

+0

這就是我的意思。 – Netheous

+0

我想你可能會成爲[XY問題]的受害者(https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。更多關於[這裏](http://mywiki.wooledge.org/XyProblem)。 –

回答

0

我會通過說DOM元素不是JavaScript對象採取刺傷它。將一個dom元素設置爲等於一個javascript實例相當於將我的汽車等於正義的一個實例。

+0

我同意 - 我知道它不會這樣工作,因爲在最壞的情況下,我會用類替換DOM元素,而javascript將無法將其視爲任何不同的東西。 我只是想一個解決方案,可以讓我這樣做..也許對於每一個元素,我應該創建一個子元素,並保存任何它模仿變量? 贊:mybutton.rep = dom元素 – Netheous