Javascript document.getElementById.innerHTML只能工作一次-如何配置全局复制元素?
我想创建一个外部js文件,在其中我可以配置html文件中几个元素的副本。我正在使用document.getElementById(“id”).innerHTML=“what ever”;将我的副本“注入”或“添加”到具有特定id的html元素中 这很好,但是当我的html文件中有多个具有相同id的元素时,我的js文件中的html只添加到第一个元素,但是我的js文件中的html应该添加到具有相同id的所有元素中 这是我的html结构:Javascript document.getElementById.innerHTML只能工作一次-如何配置全局复制元素?,javascript,jquery,html,document,Javascript,Jquery,Html,Document,我想创建一个外部js文件,在其中我可以配置html文件中几个元素的副本。我正在使用document.getElementById(“id”).innerHTML=“what ever”;将我的副本“注入”或“添加”到具有特定id的html元素中 这很好,但是当我的html文件中有多个具有相同id的元素时,我的js文件中的html只添加到第一个元素,但是我的js文件中的html应该添加到具有相同id的所有元素中 这是我的html结构: <html> <head> <s
<html>
<head>
<script src="copy.js" type="text/javascript" charset="utf-8"></script>
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div>
<strong id="back-button"></strong>
</div>
....
<div>
<strong id="back-button"></strong>
</div>
</body>
</html>
$(function() {
$(document).ready(function addcopy() {
/* global */
document.getElementById("back-button").innerHTML = "go back";
});
});
非常感谢任何帮助或提示。
谢谢
id
属性应该是唯一的,我知道在JQuery中,如果要使用多个选择器,可以使用class
或者您可以使用
name
和getElementsByName()
函数,该函数将为您提供Javascript中的元素数组。如果您有jQuery,为什么不使用$(“#返回按钮”).html('go back')
而不是普通的/本机JS
但是,您有多个按钮,id必须是唯一的,因此您不能为此使用id。使用class=“back button”
和以下jQuery代码:
$('.back-button').html('go back');
您可以使用类,因为
id
s只能使用一次
<html>
<head>
<script src="copy.js" type="text/javascript" charset="utf-8"></script>
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="back-button">
</div>
....
<div class="back-button">
</div>
</body>
</html>
....
在javascript中:
<script type="text/javascript">
$(document).ready(function addcopy() {
/* global */
$(".back-button").html("<strong>go back</strong>");
});
</script>
$(文档).ready(函数addcopy()){
/*全球的*/
$(“.back按钮”).html(“返回””;
});
请对HTML元素使用类而不是id,并使用jquery填充所需的文本
<div>
<strong class="back-button"></strong>
</div>
$('.back-button').text('go back'); // OR
$('.back-button').html('go back');
$('.back按钮')。text('go back');//或
$('.back button').html('go back');
在js中,您可以这样做:
document.getElementsByClassName('message')[0].innerHTML = "Good afternoon:)!";
然后你可以循环这个类的所有元素。是的,的确如此。太好了!谢谢你的快速帮助-你是对的-它是完美的工作方式!令人惊叹的!感谢您的快速帮助-这样它的工作完美!我很高兴它帮助了你。顺便说一句,你也应该投票支持所有有用的答案。所有这些都是正确的。