Javascript - 如何用脚本中的文本替换HTML中的文本

时间:2016-09-16 12:29:59

标签: javascript

我是javascript的新手。我在考虑getelementbyid,但我不知道如何让它工作

与标题一样,这就是我的意思

例如我有HTML:

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

所以我想要的是制作脚本来将fw_93 fw_94替换为我想要的。

例如 而不是显示“fw_93”我希望它显示“9.3”。与fw_94至9.4相同

4 个答案:

答案 0 :(得分:1)

将fw_替换为空,将数字除以10:

<p>fw_93</p>
<p>fw_94</p>
<p>fw_93</p>
<script src="js/ShareController.js"></script>

答案 1 :(得分:1)

  1. 好的,所以选择标签。
  2. 循环收集
  3. 阅读html
  4. 匹配字符串
  5. 替换html
  6. &#13;
    &#13;
    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;
    }
    &#13;
    <p>fw_93</p>
    <p>fw_94</p>
    <p>fw_93</p>
    &#13;
    &#13;
    &#13;

答案 2 :(得分:0)

使用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. .将始终位于第一位数
  3. 之后

答案 3 :(得分:-2)

您的HTML:

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

你的JS:

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