2011-10-14 32 views
4

我一直在使用Wordpress 3.2.1附帶的jQuery出現這個奇怪的問題。我正在開發一個WordPress插件。我使用Chrome進行調試。我通常會打開開發人員工具,在將它們放入代碼之前嘗試一些jQuery函數。但對於這個特定的組合,我有問題就是ID選擇器和各種HTML Object功能。在Wordpress中的jQuery不能按預期在Chrome中工作

jQuery('#id_of_html_element') //This will just return [] in the console 

//If I put this in the plugin, it will run and show [object Object] 
alert(jQuery('#id_of_html_element')); 


//The following shows "null" but in fact I have html inside 
alert(jQuery('#id_of_html_element').html()); 

//And this works as expected in the console 
document.getElementById('id_of_html_element').innerHTML 

我試過在Chrome上禁用所有擴展功能,但問題仍然存在。在另一個頁面上(例如Stackoverflow.com),jQuery在控制檯中按預期工作。

編輯:類選擇做工作正常的控制檯,但仍html()返回null

編輯:對不起,這是我的錯誤。我在ID中有一個「 - 」,導致了這個問題。用下劃線代替它後,它已經工作。我注意到它在其他wordpress插件上工作,但不是我的。

+0

你一直在說的Chrome。它在Firefox中工作嗎?我懷疑這是Chrome的問題。更有可能是Wordpress的加載順序。不久之前我也有類似的問題。只需將<腳本調用放在您的腦海中 –

+0

我目前只安裝了Chrome。 是不可能的,因爲這是一個WP插件,而不是主題。 – faulty

+0

啊,對了,對不起,對於踢和咯咯,你是否試過把它放在你的頭上,只是爲了測試。然後你會知道,如果這是一個瀏覽器問題或wordpress加載順序問題 –

回答

1

如果真的想訪問HTML代碼元素的ID內,盡我的解決方案:

var v1 = $('<div>').append($("#id_of_html_element").find("*").clone()).remove().html(); 
alert(v1); 

我測試了在:

<div id="id_of_html_element"> 
     <a href="#">Text</a> 
     <br/><a href="#">Another Text</a> 
</div> 

和警報結果是:

<a href="#">Text</a><br><a href="#">Another Text</a>

我測試了FF,Chrome和那個叫做IE的東西,而且一切看起來都很順利!

不要問我有關的空格,他們走了,這是你的問題現在:P:P:P

希望這有助於您:)

+0

我的示例代碼通常會起作用,它只是在wordpress內我的插件頁面上失敗 – faulty

+0

由於沒有人回答,我發現了問題,我只是將你的問題標記爲答案 – faulty