簡體   English   中英

Javascript - 如何用腳本中的文本替換 HTML 中的文本

[英]Javascript - How can I replace text in HTML with text in script

我是 javascript 新手。 我在想 getelementbyid 但我不知道如何讓它工作

就像標題一樣,這就是我的意思

例如我在 HTML 中有:

<p>fw_93</p>
<p>fw_94</p>
<p>fw_93</p>

所以我想要的是制作腳本來將那些 fw_93 fw_94 替換為我想要的。

例如,我希望它顯示“9.3”而不是顯示“fw_93”。 與 fw_94 到 9.4 相同

將 fw_ 替換為空,將數字除以 10:

 Array.prototype.forEach.call(document.getElementsByTagName('p'), function(el) { el.innerHTML = parseInt(el.innerHTML.replace(/[A-Za-z_]*/, '')) / 10; });
 <p>fw_93</p> <p>fw_94</p> <p>fw_93</p>

  1. 好的,所以選擇標簽。
  2. 循環遍歷集合
  3. 閱讀html
  4. 匹配字符串
  5. 替換html

 var ps = document.querySelectorAll("p"); for (var i=0; i<ps.length; i++) { var p = ps[i]; var txt = p.innerHTML; //.textContent var updated = txt.replace(/.+(\\d)(\\d)/, "$1.$2"); p.innerHTML = updated; }
 <p>fw_93</p> <p>fw_94</p> <p>fw_93</p>

使用 JQuery

不知道為什么我用 JQuery 做這件事,我猜我沒有給予足夠的關注。 我重新編寫沒有意義,因為 JS 中已經有很好的答案。 雖然我將離開這個情況下,它的使用到使用JQuery的任何人。


您可以遍歷每個<p>元素並隱藏內容,如下所示:

 $("p").each(function() { var text = $(this).html(); var text = text.substring(text.indexOf("_") + 1); var text = text[0] + "." + text.substring(1); $(this).html(text); })
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p>fw_93</p> <p>fw_94</p> <p>fw_93</p>

您可能需要根據輸入的可靠性添加驗證。

請注意,代碼做出以下假設:

  1. 總會有一個_后跟至少 2 位數字
  2. . 總是在第一個數字之后

你的 HTML:

  <p id="p1">init_value</p>

你的JS:

document.getElementById("p1").innerHTML = "new_value";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM