2009-04-23 64 views
1

如何从JavaScript中的对象调用函数,例如在jQuery中调用myDiv.html()以获取该div的html。从对象中调用函数:object.function()

所以,我想是这样的工作:

function bar(){ 
return this.html(); 
} 

alert($('#foo').bar()); 

这是一个简单的例子,所以请不要说:只是做$( '#富')HTML():)

回答

9
jQuery.fn.extend({ 
    bar: function() { 
     return this.html(); 
    } 
}); 

alert($('#foo').bar()); 
+0

当你打败我吧。好工作。 ;) – KyleFarris 2009-04-23 17:06:00

5

你的意思是你如何调用对象在上下文中的函数

该工程─

function bar() { 
    return this.html(); 
} 

bar.apply($('#foo')); 

或者,如果你想一个方法附加到对象永久,

obj = {x: 1}; 
obj.prototype.bar = function() {return this.x;}; 
obj.bar(); 
+0

清洁和(最重要的)库不可知论者。 +1 – 2009-04-23 17:17:43

-1

到编号foo你可以做一个getHtml功能添加到div元素这个:

$("#foo")[0].getHtml = function() { 
    return this.innerHTML; 
}; 
alert($("#foo")[0].getHtml()); 

如果这不是你想要什么,但是扩展jQuery,你应该看看Alex Barrett的帖子。