Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:replace';g';性格_Javascript_Replace - Fatal编程技术网

Javascript:replace';g';性格

Javascript:replace';g';性格,javascript,replace,Javascript,Replace,我想替换以下innerHTML div中的g字符: <div id="myDiv">aaa>aga</div> 不幸的是,这也将字符替换为&at 如何避免这种行为?尝试使用.innerText而不是.innerHTML,就像这样 var myDiv=document.getElementById('myDiv'); var text=myDiv.innerText | | myDiv.textContent | |“”; myDiv.innerHTML=text

我想替换以下innerHTML div中的
g
字符:

<div id="myDiv">aaa>aga</div>
不幸的是,这也将
字符替换为
&at

如何避免这种行为?

尝试使用
.innerText
而不是
.innerHTML
,就像这样

var myDiv=document.getElementById('myDiv');
var text=myDiv.innerText | | myDiv.textContent | |“”;
myDiv.innerHTML=text.replace(/g/g,'a');
//或者没有变量
//myDiv.innerHTML=(myDiv.innerText | | myDiv.textContent | | |')。替换(/g/g,'a')

aaa>aga
如果您希望更加安全(在处理包含其他元素的元素时,或处理不希望被解释为HTML的文本时),您将希望遍历元素的子元素以查找其中的文本节点

文本节点内的简单替换将满足您的需要:

函数替换(el、图案、替换){
如果(el.nodeType==3){//TEXT\u节点
el.nodeValue=el.nodeValue.replace(模式,替换);
} 
否则{
var n=el.childNodes.length;
对于(变量i=0;i

一个

两个

一、二、三、四、二、三、四
您可以使用.innerText,比如so@Alexander,这样在回答部分看起来会更好。
myDiv.innerHTML.replace(/[^&g]g/g,'a')
var myDiv = document.getElementById('myDiv');
myDiv.innerHTML = myDiv.innerHTML.replace('g','a');