的擴展方法我有HTML類似如下:無法調用jQuery對象
<div id="quoteContainer">
<div class="quote prototype"></div>
<div class="quote live q0"></div>
<div class="quote live q1"></div>
<div class="quote live q2"></div>
<div class="quote live q3"></div>
...
</div>
這裏每個現場的div是原型股利coppies。下面是進行復制的代碼:
quote = $(".quote.prototype").clone().show()
.removeClass("prototype").addClass("live")
.addClass(foo)
.appendTo("#quoteContainer");
$.extend(quote, QuoteCalculator);
quote.setQuoteClass(foo);
美孚是結合「Q」和報價的數量的變量。 QuoteCalculator類有幾個我想調用的方法,包括(例如)shout()。這裏是QuoteCalculator的一部分:
var QuoteCalculator = {
...
shout: function() {
console.log("hello from calculator");
},
...
};
在程序的另一個點,我想調用shout方法。這裏是我的代碼:
$(".quote.live").each(function() {
this.shout();
});
這裏是螢火說: this.shout不是一個函數 [打破這個錯誤] this.shout();
編輯:這是奇怪的部分:調用quote.setQuoteClass(foo)不會產生錯誤。相反,它完美地工作。
爲什麼問題出現,是什麼原因造成的,我該如何解決?
+1我沒有考慮過這種可能性,但它也是有道理的。要麼他認爲他在擴展DOM元素,要麼他認爲他正在擴展jQuery原型 - 這兩者都沒有實際發生。 – JAAulde
那麼get就會擴展DOM? – BlackSheep
謝謝,我試過了,它解決了這個問題。令人敬畏的+1。 – BlackSheep