2012-05-14 14 views
2

如何使用JavaScript控制檯明白爲什麼這個代碼:如何在Chrome中進行調試以找出此代碼不起作用的原因?

// Empty info 
if ($('.perma-info').text() == '') { 
    $('.perma-info').remove(); 
} 

未出現在此頁面的工作:http://dev-indiehaz.tumblr.com/post/22897976111/vans-vw

我希望它這樣,如果該元素是空的,我可以將其刪除。

+0

什麼是'imagesLoaded'方法? – VisioN

+0

[你如何在Google Chrome中啓動JavaScript調試器?](http://stackoverflow.com/questions/66420/how-do-you-launch-the-javascript-debugger-in-google-chrome) – Phrogz

+0

我會認爲那個調用會返回一組元素。你可能需要做一些類似「$('。perma-info')。each(/ *檢查每個元素是否在這裏* /);」 –

回答

3

你可以通過啓動:

console.log($('.perma-info')); 

,然後你觀察到控制檯。 2種可能性:你會得到一個空結果在這種情況下,你顯然應該檢查你的選擇,因爲可能不是在你的DOM的class="perma-info"元素或你得到一些結果在這種情況下,你繼續:

console.log($('.perma-info').text()); 

然後觀察控制檯。如果你得到一個空文本然後if條件應該工作。如果它打印一些值,那麼匹配的DOM元素就有一些文本。

快速調試。

+0

我把第一種方法放在我的代碼中,但是在控制檯中沒有任何東西出現。有任何想法嗎? – Harry

+0

我懷疑你的控制檯沒有任何東西出來。至少應該有一個空陣列出現。在這種情況下,正如我在我的回答中所述,這意味着沒有與您的類選擇器匹配的DOM元素。 –

+0

這是我的屏幕:http://i.imgur.com/oeXFB.png,不太確定這裏有什麼錯誤。幫助將不勝感激。 – Harry

3

F12並設置一個斷點。

+0

我已經設置了一個斷點,現在是什麼? – Harry

+1

@Harry運行,直到你看到它在本地窗口看和/或在控制檯中運行表達式來驗證你正在發生什麼的假設。 – Phrogz

2
  1. 打開你的谷歌瀏覽器發展論壇工具,然後單擊腳本
  2. 選擇正確的腳本文件,並設置你想要的斷點(在if語句preferrably)
  3. 開始運行該腳本!
  4. Devtool將停在斷點上。你可以看到全局和局部變量。您應該將文本值存儲到變量中以查看變量的實際內容。
1

按照其他說明去開發工具,但我認爲你的裏面有一個空間。我使用Firefox上的螢火蟲,我看到一個空間。

嘗試

if ($.trim($('.perma-info').text()) == '') { 
    $('.perma-info').remove(); 
} 
+0

空白肯定是問題(結果中有超過500個換行符或空格),並且使用['$ .trim()'](http://api.jquery.com/jQuery.trim/)的建議是最後一點。但是,請注意它必須是'$ .trim($('...')。text())'。 +1,如果你解決這個問題。 – Phrogz

+0

你是對的,趕上 – Huangism

+0

我試過了,它還是沒有刪除,有什麼想法? – Harry

相關問題