2017-03-12 43 views
1

我目前正在爲我的一個客戶設置一個基於Wordpress的網站。長話短說:用JS更改段落文本

我需要用JavaScript來改變一些文本,就像我已經做了很多次。不過,這一次它只是不工作..這是我使用過的元素在網站上檢查控制檯代碼:

target = document.querySelector('sc_services_item_content p') 
target.innerHTML = "Paragraph text changed!" 

該網站是http://sifaclinic.nl/wordpress/tr_TR/therapieen/,如果有人能夠成功地更改文本,你'成爲真正的救星!在需要更改的段落下方。

Paragraph that needs to be changed

+0

感謝您的評論。它仍然不在網頁上工作,只有'target'變量的值改爲「Paragraph text changed!」在控制檯。 – Acework

+0

在WordPress中,出於安全原因,簡單運行JavaScript被阻止。按照這裏的其他選項:'https:// www.godaddy.com/garage/industry/tech-svcs/wordpress/3-way-to-insert-javascript-into-wordpress-pages-or-posts /'。另請閱讀「https:// codex.wordpress.org/Using_Javascript」 –

+0

感謝您的評論,但事實並非如此。我可以用JavaScript改變網站上的每一個文本,除了那個特定的段落。 – Acework

回答

0

document.querySelector返回指定的CSS選擇器匹配的第一個元素,但似乎你正在尋找第三個指數,或指數2

最好的辦法是使用document.querySelectorAll(.sc_services_item_description p)[2],這返回一個包含.sc_services_item_descriptionp的元素數組,並訪問索引2.讓我知道這是如何解決的。

+0

感謝您的評論。我只是想嘗試一下,試圖讓它工作。 – Acework

0

如果要在頁面上匹配多個元素,請使用querySelectorAll而不是querySelector

querySelector僅匹配第一個找到的元素。

querySelectorAll返回數組行對象,就是你可以遍歷上,並與指定index選擇元素 - 你的具體情況 - 我想這是2 - 和改變它的,例如innerHTML屬性。

var target = document.querySelectorAll('.sc_services_item_description p') 
 
target[2].innerHTML = 'Changed!';
<div class="sc_services_item_description"> 
 
    <p>First element</p> 
 
    <p>Second element</p> 
 
    <p>Third element</p> 
 
</div>

+0

感謝您的評論!它確實有效,就像我的代碼一樣。但由於某種原因,它不適用於網頁本身.. – Acework

+0

@Acework它必須是你的腳本的東西然後。你把它放在哪裏? –

+0

我只是想嘗試一下,試圖讓它工作。 – Acework