1

我有一个网站多次使用例如 html 元素id="some_id",我想用 jquery 更改所有这些元素,但是当我运行 jquery 代码时:$("#some_id").attr("href", "new url");或者例如$("#some_id").text("new text")我只更改第一个元素/对象/链接。

像这样:

<a id="username">username1</a>
<a id="username">username1</a>

编辑第一个元素的 Jquery:

$("#username").text("username2"); 

如何使用 jquery 编辑这两个元素。

4

3 回答 3

2

您不能有重复的 ID。

而是让他们成为一个班级。

<a class="username">username1</a>
<a class="username">username1</a>
$(".username").text("username2");

或者使 ID 唯一:

<a id="username_1">username1</a>
<a id="username_2">username1</a>
$('a[id^="username_"]').text("username2");

这个使用attribute-starts-with-selector[docs]来选择<a>ID 以 . 开头的元素username_

于 2011-07-30T12:44:56.880 回答
0

那是因为您只能在每个页面上使用一次 ID,并且一开始只会选择您的一个元素。改用一个类。

于 2011-07-30T12:45:24.417 回答
0

首先,有两个相同的元素id是无效的 HTML。相反,给他们两个相同的class属性:

<a class="username">username1</a>
<a class="username">username1</a>

然后,使用以下 JavaScript:

$('.username').text('username2');

但是,您的代码示例与您的标题不匹配,因此这不会更改href锚标记的,只是它们的文本。要更改href两者,请attr按照此问题的标题调用。

于 2011-07-30T12:47:41.890 回答