str=str.split('<span>').map(function(e){
let a=e.split('</span>')
a[a.length-1]=a[a.length-1].replace(/a/g,'<span>2222</span>')
return a.join('</span>')
}).join('<span>')
console.log(str)
你可以把你的appendChild加在 if判断里,判断一次 先清空,再加上。你就写一个盒子,在盒子里进行append,而不是在body里了。清空的话就将整个盒子内容innerHTML为空就行了
你如果只是交替的改变的话,就没必要用appendChild(),直接用 obj.innerHTML = "你的内容";就行了
<DIV style="DISPLAY: WHITE-SPACE: nowrap" id=week><Q>1,3</Q><input type=hidden name="HZjTRXCiGmVjQ4huJWSbN3cvpfXEYhRc_TASKWEEK" value="1,3"></DIV><!--精确的替换方法:-->
<script language="javascript" type="text/javascript">
function aa(){
var Week=['星期日','星期一','星期二','星期三','星期四','星期五','星期六']
var one=document.getElementById("week")
var opT=one.document.getElementsByTagName("Q")
var arr=opT[0].innerText.split(",")
var a=new Array()
for(var i=0i<arr.lengthi++) a[i]=Week[arr[i]]
opT[0].innerHTML=a.toString()
}
aa()
</script>