日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

html中怎么写jq,用jQuery替换HTML页面中的文本

發布時間:2023/12/10 HTML 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html中怎么写jq,用jQuery替换HTML页面中的文本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何替換jQuery中的任何字符串?

假設我有一個字符串"-9o0-9909",我想用另一個字符串替換它。

在問問題之前如何使用jQuery將HTML塊替換為HTML塊的可能重復,最好檢查一下系統在輸入問題標題時提出的自動建議

您能否詳細說明為什么您認為jquery是必經之路-到目前為止的答案可能不正確。

我可以在c#頁面,javascript,數據庫和html頁面中更改文本,但是我在考慮是否有可能在頁面加載后使用jquery來實現。 我正在嘗試節省時間并學習新的東西:)

您可以使用以下內容替換頁面正文中第一個出現的單詞:

var replaced = $("body").html().replace('-9o0-9909','The new string');

$("body").html(replaced);

如果要替換所有出現的單詞,則需要使用正則表達式并將其聲明為全局/g:

var replaced = $("body").html().replace(/-1o9-2202/g,'The ALL new string');

$("body").html(replaced);

如果您想要一個班輪:

$("body").html($("body").html().replace(/12345-6789/g,'abcde-fghi'));

您基本上是將頁面標記內的所有HTML都帶入一個字符串變量,使用replace()查找并用新字符串更改首次出現的找到的字符串。或者,如果您要查找并替換所有出現的字符串,請在混合中引入一些正則表達式。

在此處查看演示-在左上方查看HTML,以查看原始文本,下方的jQuery和右下方的輸出。

代碼工作得很好,謝謝scoobler。 jQuery(function($){var replace = $(" body")。html()。replace(/ 12212-522-1212 / ig,2121-2121-0000); $(" body")。html(replaced) ;});

我認為這不是非常有效...我們應該尋找更好的解決方案!

該解決方案不好,因為它更改了HTML DOM。它正在替換完整的HTML,因此重新插入了頁面上的所有內容,這對于簡單的網站來說還不錯,但是如果您有很多JavaScript,隨著DOM的更改,它們將被破壞。

除了是一個好的解決方案之外,$(" body")。html()將沒有body標簽。如果您打算替換body標簽或其屬性上的某些內容,請使用externalHTML。

是的,這樣做會重新觸發頁面上的腳本;除了最簡單的情況外,它不是解決所有問題的通用解決方案。

就像該線程中提到的其他內容一樣,替換整個HTML主體不是一個好主意,因為它會重新插入整個DOM,并有可能破壞作用于這些元素的任何其他JavaScript。

相反,使用jQuery過濾器僅替換頁面上的文本,而不替換DOM元素本身:

$('body :not(script)').contents().filter(function() {

return this.nodeType === 3;

}).replaceWith(function() {

return this.nodeValue.replace('-9o0-9909','The new string');

});

this.nodeType是我們要替換其內容的節點的類型。 nodeType 3是文本。在此處查看完整列表。

是的,這一個沒有破壞javascript,而另一個沒有破壞javascript,大大的進步!

...I have a string"-9o0-9909" and I want to replace it with another string.

下面的代碼可以做到這一點。

var str = '-9o0-9909';

str = 'new string';

除了玩笑,用JavaScript替換文本節點并非易事。

我寫了一篇關于此的文章:用JavaScript替換文本。

鏈接上的代碼幾乎可以處理所有情況。對我來說,它在集合中的上令人不快(child是null),并且在splitText上還會發生莫名其妙的崩潰,其原因是"分割偏移超出了文本節點的長度"。同樣,"畫布"拼寫為" cavas"。不過,+ 1。

@bishop謝謝,我絕對需要更新該帖子。

別客氣。我喜歡遵循您的代碼這么短而又容易,我只是無法讓它適應我的用例。我最終選擇了padolseys的findAndReplaceDOMText庫-重量更大,但涵蓋了我能找到的所有常見情況。

html替換的想法很好,但是如果對document.body完成操作,頁面將閃爍并且廣告將消失。

我的解決方案:

$("*:contains('purrfect')").each(function() {

var replaced = $(this).html().replace(/purrfect/g,"purrfect");

$(this).html(replaced);

});

查閱Padolsey關于DOM查找和替換的文章,以及實現所描述算法的庫。

在此示例用法中,我用tel:方案鏈接替換了看起來像美國電話號碼的中的所有文本:

findAndReplaceDOMText(document.getElementById('content'), {

find:/\b(\d\d\d-\d\d\d-\d\d\d\d)\b/g,

replace:function (portion) {

var a = document.createElement('a');

a.className = 'telephone';

a.href = 'tel:' + portion.text.replace(/\D/g, '');

a.textContent = portion.text;

return a;

}

});

var replaced = $("body").html().replace(/-1o9-2202/g,'The ALL new string');

$("body").html(replaced);

對于變量:

var replaced = $("body").html().replace(new RegExp("-1o9-2202","igm"),'The ALL new string');

$("body").html(replaced);

$("#elementID").html("another string");

http://api.jquery.com/html/

它們并不總是相同的id,可以是不同的類名或id名稱。如果我只有1個班級名稱或ID名稱,那不是很難,但大多數時候都是隨機的。

因此,您想在整個HTML樹中搜索一個字符串,然后替換它?

總結

以上是生活随笔為你收集整理的html中怎么写jq,用jQuery替换HTML页面中的文本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。