Jquery 选择具有特定id和缺少属性的所有元素

Jquery 选择具有特定id和缺少属性的所有元素,jquery,Jquery,我正在使用的html有如下标记: <a id="tag" data="modal" href=#>1</a> <a id="tag" data="modal" href=#>2</a> <a id="abc" href=#>8</a> <a id="tag" href=#>3</a> <a id="tag" data="modal" href=#>4</a> <a id=

我正在使用的html有如下标记:

<a id="tag" data="modal" href=#>1</a>
<a id="tag" data="modal" href=#>2</a>
<a id="abc" href=#>8</a>
<a id="tag" href=#>3</a>
<a id="tag" data="modal" href=#>4</a>
<a id="tag" href=#>5</a>
<a id="tag" href=#>6</a>
<a id="tag" data="modal" href=#>7</a>

我想选择id=标记且缺少数据属性的所有元素。我尝试使用
$('a#tag[data!=modal]')
,但它只返回第一个匹配的元素。当我尝试
$('a[data!=modal]')
时,它返回所有缺少数据属性的a元素以及我不想要的
id=“abc”
。请给我一些建议


编辑:我知道这不是HTML的结构,但它不是由我控制的,我坚持对它进行分析。

不能有多个HTML元素具有相同的ID。在hood下,jQuery将使用
getElementById
,它将只返回第一个元素

但是,您可以将这些更改为类:

<a class="tag" data="modal" href=#>1</a>

ID在文档上下文中必须是唯一的,请改用类。。。现在,这将起作用,但不要使用它….:
$('a[id=tag]:not([data]))
请看,这里的共识是“不,他们不应该”!在一个页面中,一个元素只能有一个id。它在您的文档中应该是唯一的。@A.Wolff谢谢!这起作用了
$(".tag:not([data])")