我现在已经对这个问题猛烈抨击了一段时间。我无法找到将此标记附加到其父级的任何方法。这个变量似乎是在我在调试器中检查时定义的,但是追加根本就不会发生。如果我不传递变量而是查询父内联,它似乎才有效。
function AdType($parentObj, adSlot)
{
this.$parentObj = $($parentObj);
this.adSlot = adSlot;
}
AdType.prototype.display = function()
{
var insert = document.createElement("ins");
insert.className = "adsbygoogle";
this.$parentObj.append(insert);
};
AdType.prototype.remove = function()
{
this.$parentObj.empty();
};
var Ads = {
mobile : new AdType($("#mobile-ad"), "555"),
display : function () {
if (Display.get() == 'mobile'){
this.mobile.display();
}
}
};
Ads.display();
答案 0 :(得分:0)
我注意到的一件事是AdType
对象是Ads
的属性。当我用Ads.display()
替换Ads.mobile.display()
时,代码似乎有效。此外,为了提高代码可读性,不需要在函数参数中重复这些$
符号。
看看这个堆栈代码段,我可以在<a>
附加AdType
代码。
function AdType(parentObj, adSlot)
{
this.parentObj = parentObj;
this.adSlot = adSlot;
}
AdType.prototype.display = function()
{
this.parentObj.append('<a href="#">I got appended!</a>');
};
AdType.prototype.remove = function()
{
this.$parentObj.empty();
};
var Ads = {
mobile: new AdType($("#mobile-ad"), "555")
};
Ads.mobile.display();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id ="mobile-ad"></div>