选择所有具有相同ID的元素

Сух*_*й27 3 jquery

我知道元素ID应该是唯一的,但是在需要时应该使用哪个选择器

$("*#x1")$("[id=x1]")或其他什么东西?

的HTML

<div id="x1">A</div>
<div id="x1">B</div>
<div id="x2">C</div>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/2VHBC/2/

Sac*_*hin 9

是的,您的 html 标记无效,并且 Id 在页面上必须是唯一的,但attribute在这种情况下,选择器会完成您的工作。

alert($('[id=x1]').length);
Run Code Online (Sandbox Code Playgroud)

Js小提琴演示


can*_*ndu 6

正如提到的其他几个答案:不要重复ID。这是一个可怕,可怕,没有好处,非常糟糕的主意:如果多个不同的HTML元素是不同的元素,它们可以具有相同的ID吗?

我不确定如果执行此操作会发生什么,但是我认为这取决于浏览器,这意味着您不能依赖它的合理性。

使用class来代替:

<div class="x1">A</div>
<div class="x1">B</div>
<div class="x2">C</div>
Run Code Online (Sandbox Code Playgroud)

然后使用与CSS语法匹配的jQuery的类选择器:

$('.x1')
Run Code Online (Sandbox Code Playgroud)