首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery确定匹配的类是否具有给定的id

jQuery确定匹配的类是否具有给定的id
EN

Stack Overflow用户
提问于 2010-02-13 00:45:50
回答 7查看 167.7K关注 0票数 97

什么是jQuery has id等同于下面的语句?

$('#mydiv').hasClass('foo')

因此,您可以给出一个类名,并检查它是否包含提供的id。

类似于:

$('.mydiv').hasId('foo')
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-02-13 00:54:24

您可以通过combining multiple selectors将该逻辑添加到选择器中。例如,我们可以针对具有给定id的所有元素,这些元素也具有特定的类:

$("#foo.bar"); // Matches <div id="foo" class="bar">

这看起来应该类似于您在CSS中编写的内容。注意,它不会应用于所有的#foo元素(虽然应该只有一个),也不会应用于所有的.bar元素(尽管可能有很多)。它将只引用在两个属性上都合格的元素。

jQuery还有一个很棒的.is method,它可以让你确定一个元素是否具有某些特性。可以针对字符串选择器、HTML元素或其他jQuery对象测试jQuery集合。在本例中,我们将只根据字符串选择器进行检查:

$(".bar:first").is("#foo"); // TRUE if first '.bar' in document is also '#foo'
票数 175
EN

Stack Overflow用户

发布于 2010-02-13 00:49:04

我可能会使用$('.mydiv').is('#foo');,如果你知道Id,为什么不把它应用于选择器呢?

票数 44
EN

Stack Overflow用户

发布于 2013-03-16 08:13:12

更新:很抱歉误解了问题,删除了.has()答案。

另一种替代方法,创建.hasId()插件

// the plugin
$.fn.hasId = function(id) {
  return this.attr('id') == id;
};

// select first class
$('.mydiv').hasId('foo') ?
  console.log('yes') : console.log('no');

// select second class
// $('.mydiv').eq(1).hasId('foo')
// or
$('.mydiv:eq(1)').hasId('foo') ?
  console.log('yes') : console.log('no');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="mydiv" id="foo"></div>
<div class="mydiv"></div>

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2253457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档