在javascript中用修改后的值替换html内容

在javascript中用修改后的值替换html内容,javascript,html,replace,Javascript,Html,Replace,我需要一些专家的建议 我正在处理的项目是用HTML生成的报告。 我需要使用javascript来 1.找到一个数字并提取其中的一部分 2.增加/减少提取的部分 3.用新值替换数字 4.替换其他元件 而且,我使用的html没有标签或ID,因此我不得不获取整个内容 以下是我到目前为止的情况: var els=document.getElementsByTagName(“*”); 对于(变量i=0,l=els.length;i

我需要一些专家的建议

我正在处理的项目是用HTML生成的报告。 我需要使用javascript来
1.找到一个数字并提取其中的一部分
2.增加/减少提取的部分
3.用新值替换数字
4.替换其他元件

而且,我使用的html没有标签或ID,因此我不得不获取整个内容

以下是我到目前为止的情况:

var els=document.getElementsByTagName(“*”);
对于(变量i=0,l=els.length;i

它可以工作,但不断增加替换值的次数太多。如何解决此问题?

仅查找p标记,而不是所有标记

喜欢

var els = document.getElementsByTagName("p");
for(var i = 0, l = els.length; i < l; i++) {
  var el = els[i];
  var txt = els[i].textContent; //grabbing the text
  var patt = /\d+(?=,[0-9]{3}\sPARTS)/g; //regex pattern
  var res = patt.exec(txt); //execute regex on text
    if (res !== null) { //see if its not null
    var toNum = parseInt(res,10) +10; } //convert to int and add 10
 el.innerHTML = el.innerHTML.replace(patt, toNum); //replace the original
 el.innerHTML = el.innerHTML.replace("text need to be changed and looped", "replaced");

  }
所以循环执行了14次

如果仍要使用此选项,请收集所有元素并从中删除前9个元素

现在els只包含剩余的元素


“我正在使用的html没有标记”-等等,什么…?让我重新表述一下,没有标记我可以用getElementsByTagName、它基本上和以及一些表来获取,除此之外,没有ID或其他格式。是的,但有时它在
标记中,甚至在中都没有,虽然我实际上可以抓住正文中阻止脚本通过自身循环的元素。find var els1=document.getElementsByTagName(“br”);现在合并els=els+els1;
var els = document.getElementsByTagName("p");
for(var i = 0, l = els.length; i < l; i++) {
  var el = els[i];
  var txt = els[i].textContent; //grabbing the text
  var patt = /\d+(?=,[0-9]{3}\sPARTS)/g; //regex pattern
  var res = patt.exec(txt); //execute regex on text
    if (res !== null) { //see if its not null
    var toNum = parseInt(res,10) +10; } //convert to int and add 10
 el.innerHTML = el.innerHTML.replace(patt, toNum); //replace the original
 el.innerHTML = el.innerHTML.replace("text need to be changed and looped", "replaced");

  }
[html, head, meta, title, script, link, style, script, body, p, p, p, p, p]
var els = document.getElementsByTagName("*");
els.splice(0,9)
alert(els);