我想用字符串???
替换每个出现的数字。
以下是一个示例字符串:
<em>Chelsea</em> 1-4 Atletico Madrid
我如何在JavaScript中执行此操作?
<a href="https://www.google.com/url?sa=t&source=web&cd=9&cad=rja&ved=0CFEQtwIwCA&url=http%3A%2F%2Fwww.whoateallthepies.tv%2Fchelsea%2F137070%2Fsuper-cup-chelsea-1-4-atletico-madrid-falcao-on-fire-as-blues-flop-in-monaco-photos-highlights.html&rct=j&q=chelsea&ei=1odBUImpBIWA0AWM1oC4BA&usg=AFQjCNEwdCCckt15XTkHSAf2fsUnGk9IJg&sig2=IOrD6hfMrviW9ods0DG2dw" class="l" onmousedown="return rwt(this,'','0','','9','AFQjCNEwdCCckt15XTkHSAf2fsUnGk9IJg','IOrD6hfMrviW9ods0DG2dw','0CFEQtwIwCA',null,event)" title="Super Cup: Chelsea 1-4 Atletico Madrid – Falcao On Fire As Blues Flop In Monaco (Photos ...">Super Cup: <em>Chelsea</em> 1-4 Atletico Madrid – Falcao On <b>...</b></a>
提前致谢。
答案 0 :(得分:1)
所以基本上你只希望文本节点而不是HTML内容受到替换的影响。
不幸的是,与getElementBy*
函数不同,获取文本节点的方法并不简单,因此您必须手动搜索:
var elems = document.getElementsByTagName('*'), l = elems.length, i,
children, m, j;
for( i=0; i<l; i++) {
children = elems[i].childNodes;
m = children.length;
for( j=0; j<m; j++) {
if( children[j].nodeType == 3) children[j].nodeValue = children[j].nodeValue.replace(/\d+/g,'???');
}
}
答案 1 :(得分:0)
您只想将所有数字替换为???
?
var text = "1-4 Atletico Madrid – Falcao On";
var replaced=text.replace(/\d/g, "???");
alert(replaced);
使用此作为跳出点,因为您只想获取文本,而不是其他html部分。