给你个笨方法
var imgDom = document.getElementsByTagName('img'),i = 0,
n
while(n = imgDom[i]){
var src = n.getAttribute('src')
n.src = 'aaa.com' + src
i++
}
imgDom = null, n = null
id在同一个页面里是唯一的,不能在多个元素上用一样的id。你目前的批量替换功能用遍历来做会比较好。
遍历所有的td,然后分别修改内容。
或者用jquery会更加简单,用jq的话,给td设置class,然后jq获取class然后修改内容
我写了代码如下, 测试可行, 供参考:
//主要靠这个函数实现: 将body下的文本节点中的searchWord, 替换为replaceWordfunction replaceBodyText(searchWord, replaceWord){
var reg = new RegExp(searchWord, 'g')
function replaceNode(node){
node.childNodes.forEach(function(v){
if(v.nodeName === 'SCRIPT')
return //排除<script>标签
if(!v.hasChildNodes()){
if(reg.test(v.textContent))
v.textContent = v.textContent.replace(reg, replaceWord)
return
}
replaceNode(v)
})
}
replaceNode(document.body)
}
//绑定一个事件测试用, 点击这个按钮后才会执行
document.querySelector('#testBtn').addEventListener('click', function(){
replaceBodyText('中国', '美国')
})
//实际使用中直接调用函数即可:
//以下语句表示将所有文本节点中的"中国"替换为"美国:
//replaceBodyText('中国', '美国')