2016-02-29 122 views
-1

可以說我創建了一個簡單的jQuery或Javascript插件。對於這裏的例子,我會使用JavaScript。將方法添加到現有對象

選擇元素: 要選擇一個元素我會說:

document.getElementById('test_div'); 

現在,我的問題是,我怎麼可以添加自定義的方法呢​​?也許就像像.color();

像這樣的:

document.getElementById('test_div').color('red'); 

如何與返回的對象這個功能(或方法)相關聯,因爲通常我們會做類似

var obj = {property: "I love pandas", color: function(x){...}}; 

我我真的很困惑,所以請解釋一下!

回答

0

簡單,就是(fiddle

Element.prototype.color= function(value) { 
    this.style.color = value; 
    return this; 
}; 

但是,它不是一個偉大的想法去做,read this

何不乾脆

function colorElement(element, colorValue) 
{ 
    element.style.color = colorValue; 
} 
+0

是的,但第二個方法要求我們明確地傳遞一個對象作爲參數。我希望該方法以某種方式找出是什麼調用它併爲其添加顏色。如果我嘗試「this」,它會給我一個錯誤,它不是一個函數,當然也不是因爲它不與返回的對象關聯。 – candh

+0

像你知道的,所有的酷插件做它..只需啓動對象的插件,它爲你做的其餘部分.. $('someElement')。coolPlugin(); – candh

+0

@candh增加了一個工作小提琴。 – gurvinder372