2014-04-18 38 views
0

我試圖找到一個HTML頁面內所有的谷歌廣告:如何使用jQuery在我的頁面內查找Google廣告?

jQuery("object").each(function (index){ 

    if (this.id.contains("google")) { 
     var h = jQuery(this).height(); 
     var w = jQuery(this).width(); 
     console.log("h:" + h + ",w: " + w); 
    } 

我得到這個錯誤:不能調用方法未定義

  1. 任何人都含有能解釋一下爲什麼?

  2. 我該如何解決它(或以正確的方式進行)?

謝謝。

+0

無論您發現什麼都沒有身份證件。 – Archer

+0

是的,它有一個ID .... – TheGoodGuy

+0

把它作爲函數內的第一行...'console.log(this.id);'你會看到它是未定義的。 – Archer

回答

0

錯誤消息是「無法調用包含未定義的方法」。由於您打電話給this.id.contains,這意味着this.id是未定義的,因此它沒有id屬性。

+0

現在我得到這個錯誤:對象「name_of_the_id」沒有方法包含 – TheGoodGuy

+0

@TheGoodGuy那麼你的瀏覽器不支持'String.prototype.contains'方法。使用IE?或舊版本的鉻? –

0

Javascript沒有.contains()方法。您可以使用.indexOf()代替:

jQuery("object").each(function (index){ 
    if (this.id.indexOf("google") >= 0) 
     var h = jQuery(this).height(); 
     var w = jQuery(this).width(); 
     console.log("h:" + h + ",w: " + w); 
    } 
}); 
+0

它可能還沒有在所有的瀏覽器,但它確實存在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/contains –

+0

兼容性圖表也過時了,它在當前版本的chrome中起作用。 –

0

,我發現你的問題,而我在做類似的東西: 我用jQuery選擇這樣的:

alert($('[class*="google"]').length)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 

 
<div class="bottomLeaderBoard googleAds"> 
 
the content ... 
 
</div>

類可以更換.. 我希望它有幫助:)

相關問題