在javascript中用修改后的值替换html内容
我需要一些专家的建议 我正在处理的项目是用HTML生成的报告。 我需要使用javascript来在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
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);