Javascript 如何在列表中找到文本并用新文本替换?
我正在尝试编写一个函数,在DOM中搜索一个文本并用另一个文本替换它。换句话说,我有以下html:Javascript 如何在列表中找到文本并用新文本替换?,javascript,list,replace,nodes,Javascript,List,Replace,Nodes,我正在尝试编写一个函数,在DOM中搜索一个文本并用另一个文本替换它。换句话说,我有以下html: <ul> <li>Item1</li> <li>Item2</li> <li>Item3</li> <li>Item4</li> <li>Item5</li> </ul> 项目1 项目2 项目3 项目4 项目5 现在我想找到'It
<ul>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
<li>Item4</li>
<li>Item5</li>
</ul>
- 项目1
- 项目2
- 项目3
- 项目4
- 项目5
现在我想找到'Item4'并将其替换为'newItem4'
我已经找到了“Item4”,但不知道如何用新文本替换它。以下是迄今为止我函数中的代码:
var array = ['Item1', 'Item2', 'Item3', 'Item4', 'Item5'];
function replace() {
var x = document.querySelectorAll('ul');
var newText = document.createTextNode('newItem4');
for (var i = 0; i < array.length; i++) {
if (array[i] === 'Item4') {
}
}
var数组=['Item1','Item2','Item3','Item4','Item5'];
函数替换(){
var x=document.querySelectorAll('ul');
var newText=document.createTextNode('newItem4');
对于(var i=0;i
就我所知。不确定我是否走对了方向。这就是你在HTML中找到它的方式
var lis=document.querySelectorAll('li');
李.forEach(函数(li){
if(li.innerText.trim()=“Item4”)
li.innerText=“NewItem4”;
});
- 项目1
- 项目2
- 项目3
- 项目4
- 项目5
您可以这样做来替换
document.querySelector(“按钮”).addEventListener(“单击”,
函数(){
让searchText=document.querySelector(“#searchText”).value,
replaceText=document.querySelector(“#replaceText”).value;
[]forEach.call(document.queryselectoral(“li”),函数(元素){
if(element.innerText==搜索文本){
element.innerText=replaceText;
};
});
});
- 项目1
- 项目2
- 项目3
- 项目4
- 项目5
搜索文本:
替换文本:
改变
函数替换(){
var li=document.getElementsByTagName(“li”);
对于(变量i=0;i
- 项目1
- 项目2
- 项目3
- 项目4
- 项目5
您需要在HTML或数组中查找项目4
吗?对不起,我应该指定。我需要在HTML中查找它。我只是在学习编码,忘记指定我们还没有进入jQuery,但我将尝试一下,只是为了好玩。谢谢!谢谢你!我们应该使用javascript来制作c在不创建新字段的情况下进行更改,但我没有指定此项。但这将是一个有趣的玩法!我只是将其作为一个示例。所有逻辑都在函数中。我喜欢此解决方案。如何仅使用javascript将id添加到列表中?(这是练习的一部分,因此我只能使用js编辑html。)@MicahWierenga我已经编辑了我的答案。请检查一下谢谢,我喜欢!(因为这是我的第一篇帖子,我无法投票,但我非常感谢!)
//index is the child number(li) and text is string to replace
function findAndReplace(index, text) {
$("ul li:nth-child(" + index + ")").html(text);
}