2016-02-29 129 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