2014-11-02 16 views
1

我有HTML的此塊(我不想改變代碼):如何使用JavaScript或任何其他限定語言替換特定元素內的文本?

<section class="welcome-block-top"> 
       <div class="inside"> 
        <h2>Start a good life</h2> 
        <label>text to replace 1</label> 
        <a href="" class="link-a"> 
         some text i do not want to replace</a> 
       </div> 
      </section> 

我要替換文本「文本,以取代1」

我也想在這裏替換文本:

 <h3> 
      <span> 
      text to replace 2     </span> 
     </h3> 

請教我大師,我搜索谷歌和堆棧溢出,我似乎沒有得到的東西,在我的情況。

因爲網頁是動態加載的,所以最好使用onload js方法。

如果你知道更好的方法來做到這一點與任何其他語言不要猶豫,通知我。

如果有一種方法來清除元素內的文本,然後插入新的文本,我將不勝感激。

+0

,如果你使用jQuery,你應該學會使用選擇器選擇你想要的元素,那麼瞭解,如文本),方法(和HTML()來改變它們的內容。 – keune 2014-11-02 13:37:01

回答

0

您可以使用JQuery它可以很容易地改變標籤的內容。

oldContent = $("div.inside label:first").html(); 
$("div.inside label:first").html("put your desired content here"); 

meaining是發現在div有標籤insidefirstlabel標籤,並改變其html內容與參數。

編輯:

你當然也可以保存舊的內容,並使用它。

$("div.inside label:first").html(oldContent + " new content"); 

$("div.inside label:first").append(" new content"); 
+0

這會刪除舊文本還是保留舊文本? 編輯:現在將此文本 – 2014-11-02 13:45:00

+0

您可以保存舊內容並稍後使用它。請檢查編輯。 – 2014-11-02 13:47:16

0

這取決於你的實際使用情況,但它可能是這樣的:

$('*:not(:has(*))').text(function(_,t){ 
    return t.replace("text to replace 1", "replacement") 
}); 

主要這裏的想法是一個轉換應用於所有元素的無子女(DOM樹的葉子)的文本。

如果你有更復雜的需求,或性能要求,你可能想看看專門的圖書館,像我這樣的:https://github.com/Canop/groumf

+0

真棒圖書館將在我的空閒時間仔細看看它。 – 2014-11-02 13:47:03

相關問題