2013-12-14 177 views
0

我有一個叫做Car的JS對象,它像一個類(有自己的方法,變量)。有對象的DOM DOM元素

我想選擇像選擇器一樣的css汽車,這將緩解我的項目,例如。

$('car .stopped .red')。go();

爲了做到這一點,我創建了一個HTML並對其進行分析。

但它只是給了我DOMElement,而不是我之前創建的元素。

我的問題是,有什麼方法可以將我的car元素與DOM元素相關聯嗎?或者是否有可能從DOM元素繼承car元素?

我正在做這與node.js,並使用cheerio。

回答

0

從技術上講,你可以在DOM模型中模仿對象模型,但對我來說,它看起來像用大炮殺死蒼蠅。

如果您存儲在一個陣列中的汽車,你可以很容易過濾該陣列過濾功能如下:

// prepare the functions 
function isStopped(item) { return item.stopped; } 
function isRed(item) { return item.color === 'red'; } 
function go(item) { item.go(); } 

// use them: 
cars.filter(isStopped).filter(isRed).forEach(go); 

更新:萬一你真的需要綁定對象到DOM元素:可以保存對象到元素屬性,然後訪問此屬性或將唯一對象標識符保存到「數據 - 」屬性。例如:

var document = parse('... <car data-id="10" class="red"></car> ...'); 

$('car .red', document).each(function() { 
    cars[parseInt(this.getAttribute('data-id'))].go(); 
});