如何 select 没有 Id 属性的元素?

How to select element which doesn't has Id attribute?

我有两个文本区域,其中一个有 id 属性,另一个没有。像这样:

<textarea> </textarea>
<textarea id = 'idname'> </textarea>

现在我需要 select 第一个文本区域,我该怎么做?

您可以组合 :not() pseudo-class and the [id] attribute selector 以否定具有 id 属性的元素:

textarea:not([id]) {}
document.querySelectorAll('textarea:not([id])');
$('textarea:not([id])');

基本示例:

textarea:not([id]) {
  width: 100%;
}
<textarea></textarea>
<textarea id='idname'></textarea>

尝试在您的情况下使用以下内容:

$('textarea:not(#idname)')[0]

选择器取决于具体要求 mark-up

因为你也不介意 jQuery 回答:

$('textarea:not([id])');

$('textarea').not('[id]');

更新:

对于特定名称:

$('textarea[name="somename"]');

JQuery 解法:

使用:not() Selector:

$('textarea:not(#idname)')

希望对您有所帮助。


 $('textarea:not(#idname)').text('selected');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea> </textarea>
<textarea id='idname'> </textarea>