Javascript 用原型查找并替换文本
我不熟悉Prototype,想知道如何在类/ID中简单地“查找”一些文本并“替换”这些文本 我的html如下所示:Javascript 用原型查找并替换文本,javascript,prototype,replace,find,Javascript,Prototype,Replace,Find,我不熟悉Prototype,想知道如何在类/ID中简单地“查找”一些文本并“替换”这些文本 我的html如下所示: <div id="test"> <a href="/test">test</a> <a href="/test2">test2</a> <a href="/test3">test3</a> <a href="/test4">test4</a> </div
<div id="test">
<a href="/test">test</a>
<a href="/test2">test2</a>
<a href="/test3">test3</a>
<a href="/test4">test4</a>
</div>
有什么办法吗?使用DOM
var x=document.getElementById("test");
for(var i in x.childNodes){
if(x.childNodes[i].tagName=='A'){
x.childNodes[i].innerHTML=x.childNodes[i].innerHTML.replace(/test/,'success');
}
}
下面是一种使用getElementsByTagName的不同方法
var r=[['Login','success'],['Register','donkey'],['Bla','...'],['Logout','Are you sure?']];
var x=document.getElementById("test");
var a=x.getElementsByTagName("a");
for(i in a){
a[i].innerHTML=a[i].innerHTML.replace(r[i][0],r[i][1]);
}
嘿,马克-非常感谢。这会改变“第一个”,但是我如何用不同的文本来改变第二个或第三个呢?[再次非常感谢!]嗯,实际上,这两个都是,它循环所有的子节点,包括两个标签。啊:)如果第二个单词不是“成功”,我该怎么做?i、 例如,如果是“成功”和“驴子”?第二个和第三个文本不同?您可能需要在循环中计算它的第1、第2、第3位,并且可能需要3个
if
条件。那么像这样?如果(x.childNodes[1]。标记名=='A'){x.childNodes[1]。innerHTML=x.childNodes[1]。innerHTML.replace(/test/,'success');}我编辑了html以显示我的意思?:)
var r=[['Login','success'],['Register','donkey'],['Bla','...'],['Logout','Are you sure?']];
var x=document.getElementById("test");
var a=x.getElementsByTagName("a");
for(i in a){
a[i].innerHTML=a[i].innerHTML.replace(r[i][0],r[i][1]);
}