使用JavaScript替换Classname值

时间:2012-09-01 04:54:18

标签: javascript classname

我想用字符串???替换每个出现的数字。

以下是一个示例字符串:

<em>Chelsea</em> 1-4 Atletico Madrid

我如何在JavaScript中执行此操作?

    <a href="https://www.google.com/url?sa=t&amp;source=web&amp;cd=9&amp;cad=rja&amp;ved=0CFEQtwIwCA&amp;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&amp;rct=j&amp;q=chelsea&amp;ei=1odBUImpBIWA0AWM1oC4BA&amp;usg=AFQjCNEwdCCckt15XTkHSAf2fsUnGk9IJg&amp;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>

提前致谢。

2 个答案:

答案 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部分。