2017-05-08 47 views
0

我想在wordpress中從body中獲取第一行的文本,並且我遇到了一些問題。從jQuery中的選擇器中獲取文本 - wordpress

我的代碼: HTML代碼

<body id='asd'> 
    <h2>Text1</h2> 
    <p>Text2</p> 
    <b>Text3</b> 
</body> 

JS代碼:

console.log(jQuery('#asd').children(':first').text()); 

這段代碼在本地工作。它會在控制檯中輸出,正是我需要的: Text1,但是,在wordpress中不起作用。

如果我在wordpress上嘗試相同的代碼,則不會顯示任何輸出。

如果我嘗試:

console.log(jQuery('#asd').children(':first')); 

在本地輸出爲:[h2, prevObject: r.fn.init(1)] WordPress的輸出是:[selector: "", prevObject: a.fn.init, context: document]

有人能幫忙嗎?

+0

根據上面提到的輸出,該元素不存在於DOM上。你能提供一些關於你的WordPress網站html結構的更多細節。 –

+0

@HarshitJain我不明白你的問題。 – Kiddo

+0

有wordpress從你的身上刪除了身份證?爲什麼不試試'$('body')。children()。eq(0)'。這是wordpress的全文嗎? - 即你沒有試圖使用多個身體標籤? – Pete

回答

1

根據您的意見,它看起來好像正文位於主文檔中的單獨iframe中。要定位iframe的內容,您需要執行以下操作:

$('#iframe-id').contents().find('#asd').children(':first').text() 
+0

不客氣,很高興它幫助:) – Pete

0

只需使用以下

jQuery(document).ready(function(){ 
    jQuery('#asd:first-child').text(); 
} 

它會返回第一個孩子的標記值。

+0

輸出爲空字符串..但是在本地它將返回正確答案>< – Kiddo

+0

另請嘗試:第一個孩子 –

+0

同樣的答案...它會返回一個空字符串:( – Kiddo

0

我認爲你需要把代碼放在jQuery文檔準備好的事件中。您的代碼可能在DOM中加載body標籤之前執行。

+0

嘗試 'jQuery的(文件)。就緒(函數(){// 代碼在這裏 });' ,仍然沒有 – Kiddo