Javascript 根据文本输入更改具有特定类的所有元素
我认为这将是一个非常简单的问题,但我还没有找到答案。如何使class=name的所有span元素在此处显示插入到输入文本中的内容 功能启动{ var name=document.getElementByIdname.value; document.getElementByClassNamehere.innerHTML=name; } 开始 就是这样那样做。 想做这做那。 不是做这个或那个。Javascript 根据文本输入更改具有特定类的所有元素,javascript,html,Javascript,Html,我认为这将是一个非常简单的问题,但我还没有找到答案。如何使class=name的所有span元素在此处显示插入到输入文本中的内容 功能启动{ var name=document.getElementByIdname.value; document.getElementByClassNamehere.innerHTML=name; } 开始 就是这样那样做。 想做这做那。 不是做这个或那个。 想要这样做,但实际上正在这样做。您可以使用document.getElementsByClassName
想要这样做,但实际上正在这样做。您可以使用document.getElementsByClassNamename获得具有特定类名的元素数组,就像您所做的那样,所以这很好
它返回一个数组tho,因此实际上您必须循环使用它。您可以使用document.getElementsByClassNamename获得一个具有特定类名的元素数组,就像您所做的那样,所以这很好 它返回一个数组tho,因此实际上必须循环使用它。返回一个类似数组的元素对象 您需要迭代每个元素并通过其索引访问它 返回类似数组的元素对象 您需要迭代每个元素并通过其索引访问它
看看jQuery,它将在这种解决方案方面对您有很大帮助 您需要在标题中包含并将代码更改为:
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>
<input id="name" type="text" value="Type name here">
<button type="button" onclick="start()">start</button>
<br>
<br>
<span class="namehere"></span> is doing this and that.
<br>
<span class="namehere"></span> wants to do this and that.
<br>
<span class="namehere"></span> is not doing this or that.
<br>
<span class="namehere"></span> wants to do this but instead is doing that.
<script>
function start(){
var name = $("#name").val();
$(".namehere").text(name);
}
</script>
</body>
</html>
看看jQuery,它将在这种解决方案方面对您有很大帮助 您需要在标题中包含并将代码更改为:
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>
<input id="name" type="text" value="Type name here">
<button type="button" onclick="start()">start</button>
<br>
<br>
<span class="namehere"></span> is doing this and that.
<br>
<span class="namehere"></span> wants to do this and that.
<br>
<span class="namehere"></span> is not doing this or that.
<br>
<span class="namehere"></span> wants to do this but instead is doing that.
<script>
function start(){
var name = $("#name").val();
$(".namehere").text(name);
}
</script>
</body>
</html>
据我所知,hello HK0文档。getElementByClassName无法访问innerHTML或至少不能直接访问innerHTML,因此我建议使用简单的for方法并获取elementbyid,以更简单的方式解决此问题,如以下所示:
<span id="namehere0"></span> is doing this and that.
<br>
<span id="namehere1"></span> wants to do this and that.
<br>
<span id="namehere2"></span> is not doing this or that.
<br>
<span id="namehere3"></span> wants to do this but instead is doing that.
<script>
function start(){
var name = document.getElementById("name").value;
for(var i=0;i<4;i++) document.getElementById("namehere"+i).innerHTML=name;
}
</script>
希望这有助于我记忆中的hello HK0。getElementByClassName无法访问innerHTML或至少不能直接访问innerHTML,因此我建议使用一个简单的for方法并获得类似te的elementbyid,以更简单的方式解决此问题:
<span id="namehere0"></span> is doing this and that.
<br>
<span id="namehere1"></span> wants to do this and that.
<br>
<span id="namehere2"></span> is not doing this or that.
<br>
<span id="namehere3"></span> wants to do this but instead is doing that.
<script>
function start(){
var name = document.getElementById("name").value;
for(var i=0;i<4;i++) document.getElementById("namehere"+i).innerHTML=name;
}
</script>
希望这有帮助谢谢你的回答Josh Crozier我完全明白这个答案,但为什么在示例中它不起作用?我还为这个问题做了一个演示。我的代码的输出是正确的,但是每次单击start按钮时都会抛出一个TypeError。那个错误的原因是什么?我点击了Working Example,在中,当我点击start时,它没有做任何事情,我将您的代码复制到了我的html中,但它也不起作用。感谢you@HK0啊,它是在Chrome上运行的,但不是Firefox。现在更新了。“谢谢你指出这一点,它应该会起作用的。”乔什·克罗泽我实际上是在说我的演示。我在之前的评论中提供了链接。谢谢你的回复Josh Crozier我完全明白这个答案,但是为什么在示例中它不起作用?我也为这个问题做了一个演示。我的代码的输出是正确的,但是每次单击start按钮时都会抛出一个TypeError。那个错误的原因是什么?我点击了Working Example,在中,当我点击start时,它没有做任何事情,我将您的代码复制到了我的html中,但它也不起作用。感谢you@HK0啊,它是在Chrome上运行的,但不是Firefox。现在更新了。“谢谢你指出这一点,它应该会起作用的。”乔什·克罗泽我实际上是在说我的演示。我在之前的评论中提供了它的链接。谢谢David Rissato,这正是我要找的,我将查看jquery。谢谢David Rissato,这正是我要找的,我将查看jquery。jquery当然没有问题,但如果你只需要做简单的事情,最好不要使用2所有的jquery库都可以这样做,因为这会浪费性能等等。在这种情况下是可以的,但你是对的。jquery当然没有问题,但是如果你只需要做简单的事情,最好不要让2使用所有的jquery库,因为这会浪费性能等等。在这种情况下具体情况可以,但你是对的youhanna