回答
您可以使用下面的頁面體內替換單詞的第一個匹配:
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,'<b>abcde-fghi</b>'));
你基本上把所有的頁面轉換成字符串變量的<body>
標籤內的HTML,使用replace()以查找和更改找到的第一次出現帶有新字符串的字符串。或者,如果您想查找並替換所有出現的字符串,請爲該混合引入一點正則表達式。
See a demo here - 看看左上角的HTML,看到原始文本,下面的jQuery和輸出到右下角。
...我有一個字符串「-9o0-9909」,我想用另一個字符串替換它。
下面的代碼將做到這一點。
var str = '-9o0-9909';
str = 'new string';
笑話不談,替換文本節點是不平凡的JavaScript。
我寫了一篇關於此的文章:Replacing text with JavaScript。
$("#elementID").html("another string");
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);
退房Padolsey's article on DOM find and replace,以及the library to implement the described algorithm。
在此示例中使用,我代替所有文字<div id="content">
,看起來像一個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;
}
});
的HTML替代的想法是好的,但如果做的文檔。正文,頁面將閃爍,廣告將消失。
我的解決辦法:
$("*:contains('purrfect')").each(function() { var replaced = $(this).html().replace(/purrfect/g, "purrfect"); $(this).html(replaced); });
如在此線程提到別人,替換整個身體HTML是一個糟糕的主意,因爲它重新插入整個DOM,並可能會破壞被作用於這些元素,任何其他的JavaScript。
相反,使用jQuery filter更換隻是你的頁面上的文本,而不是DOM元素本身:
$('body :not(script)').contents().filter(function() {
return this.nodeType === 3;
}).replaceWith(function() {
return this.nodeValue.replace('-9o0-9909','The new string');
});
this.nodeType爲節點,我們正在尋找替換的內容的類型。節點類型3是文本。 See the full list here。
- 1. 下載HTML頁面代替ZIP文件
- 2. 用html替換文本。 jquery
- 3. 用JavaScript代替HTML中的文本
- 4. jquery加載html頁面爲純文本
- 5. jQuery的替代HTML
- 6. 保存其內容的HTML頁面,替換HTML文件本身
- 7. jQuery Mobile的頁面導航替代
- 8. 循環瀏覽HTML頁面中的所有文本框,並用0代替具有特定值的文本框
- 9. 用AJAX代替HTML中的當前頁面
- 10. 用jquery替換html頁面中的單詞或一些字符
- 11. 使用jQuery替換頁面上的某些文本
- 12. 將.PDF文件插入HTML頁面的替代方法
- 13. 替代特定斯芬克斯文檔的html頁面模板
- 14. jQuery的HTML替換頁面$(文檔)。已編碼
- 15. 替代jQuery代碼或HTML
- 16. 在HTML頁面中使用jQuery包含HTML頁面
- 17. jQuery Mobile的加載本地HTML頁面
- 18. 用jquery加載頁面之後替換特定文本
- 19. 在頁面加載時用jQuery替換文本字符串?
- 20. html的圖像替代文本1
- 21. 的jQuery:替換文本和HTML
- 22. 用jQuery代替按鈕文本
- 23. 預覽HTML頁面中的HTML代碼
- 24. 如何用python中美麗的湯代替html頁面中的特定文本行
- 25. 替代wordpress的404頁面
- 26. 用jquery顯示html頁面
- 27. Jquery延遲RSS提要替換頁面中的所有html
- 28. 使用代理php將文本/ html頁面轉換爲XML
- 29. 用Ruby代替文件中的文本
- 30. 在顯示任何HTML頁面之前替換一些文本
可能的重複[如何用另一個HTML塊替換HTML塊使用jQuery](http://stackoverflow.com/questions/2734174/how-to-replace-a-block-of-html-with -otherother-block-of-html-using-jquery)在提出問題之前,最好查看系統在輸入問題標題時所做的自動化建議 – 2011-02-03 12:49:40
請問您爲什麼認爲jquery是要走的路 - 迄今爲止的答案可能偏離正軌。 – Xhalent 2011-02-03 13:02:12
我可以在c#頁面,javascript和數據庫和html頁面中更改文本,但是我想如果可以在頁面加載後使用jQuery來實現該功能。我試圖保存一段時間,並學習新的東西:) – Developer 2011-02-03 16:50:25