6

我想创建一个外部 js 文件,我可以在其中配置我的 html 文件中几个元素的副本。我正在使用document.getElementById("id").innerHTML = "what ever"; 将我的副本“注入”或“添加”到具有特定 ID 的 html 元素中。

这很好,但是当我的 html 文件中有多个具有相同 id 的元素时,我的 js 文件中的 html 只添加到第一个元素,但我的 js 文件中的 html 应该添加到所有元素具有相同的 id

那是我的 html 构造:

<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>

这就是我的 JS 文件:

$(function() {
    $(document).ready(function addcopy() {

        /* global */
        document.getElementById("back-button").innerHTML = "go back";
});
});

非常感谢任何帮助或提示。谢谢!

4

5 回答 5

6

您可以使用 class,因为ids 只能使用一次。

<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>
于 2012-04-11T07:07:16.183 回答
1

在js中你可以这样做:

 document.getElementsByClassName('message')[0].innerHTML = "Good afternoon:)!";

然后你可以遍历这个类的所有元素。

于 2015-07-20T14:28:31.420 回答
0

id属性应该是唯一的,我知道在 JQuery 中如果你想使用多个选择器,你可以使用它class

或者您可以使用Javascript 中为您提供一组元素name的函数。getElementsByName()

于 2012-04-11T07:01:51.037 回答
0

你有 jQuery,为什么不使用$('#back-button').html('go back')普通/原生 JS 呢?

但是,您有多个按钮,并且ID必须是唯一的,因此您不能为此使用 id。使用class="back-button"和下面的 jQuery 代码:

$('.back-button').html('go back');
于 2012-04-11T07:03:43.907 回答
0

请使用 class 而不是 id 作为 HTML 元素,并使用 jquery 填写所需的文本。

<div>
<strong class="back-button"></strong>
</div>


$('.back-button').text('go back');   // OR
$('.back-button').html('go back');
于 2012-04-11T07:08:17.203 回答