jQuery的确定是否匹配的类有一个给定id

什么是jQuery有ID相当于下面的语句呢?

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

所以你可以给一个类别名称,并检查它包含一个提供的ID。

就像是:

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

--------------解决方案-------------

您可以通过合并多个选择烤的逻辑到选择。 例如,我们可以针对给定ID,这也有一个特定类的所有元素:

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

这应该类似于东西,你会写在CSS中。 注意,它并不适用于所有#foo元素(虽然应该只有一个),并且将它并不适用于所有.bar元素(虽然可能有许多)。 它只会引用限定在两个属性的元素。

jQuery的也有很大的.is方法,可以让你决定一个元素是否具有一定的素质。 您可以测试一个jQuery集合对一个字符串选择器,一个HTML元素,或其他jQuery对象。 在这种情况下,我们只检查对一个字符串选择:

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

我可能会使用$('.mydiv').is('#foo');这就是说,如果你知道ID为什么wouldnt你只是把它应用到选择摆在首位?

我知道它的老问题,但它仍然对谷歌搜索结果顶部,较新的jQuery提供有()函数

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

#foo是你的ID

只是说我终于解决了这个利用指数()。

没有别的似乎工作。

因此,对于兄弟元素,这是一个很好的变通,如果你是一个普通类第一选择,然后要修改一些不同的事情对每个具体的问题。

编辑:对于那些谁不知道(像我一样)指数()给出的指标值的每个相匹配的选择,从0开始计数,这取决于他们在DOM顺序元素。 只要你知道有多少元素与类=“富”你并不需要一个id。

显然,这不会总是帮助,但有人可能会发现它很有用。

$('#' + theMysteryId + '.someClass').each(function() { /* do stuff */ });

比方说,你的迭代通过一些DOM对象,你想发现和捕捉元素具有一定的ID

<div id="myDiv">
<div id="fo"><div>
<div id="bar"><div>
</div>

你可以写东西喜欢找

$('#myDiv').find('#bar')

请注意,如果你在哪里使用类选择,find方法将返回所有匹配的元素。

或者你可以写一个迭代函数,将做更多工作先进

<div id="myDiv">
<div id="fo"><div>
<div id="bar"><div>
<div id="fo1"><div>
<div id="bar1"><div>
<div id="fo2"><div>
<div id="bar2"><div>
</div>

$('#myDiv div').each(function() {
if($(this).attr('id') == 'bar1')
//do something with bar1
});

相同的代码可以很容易地修改为类选择。

<div id="myDiv">
<div class="fo"><div>
<div class="bar"><div>
<div class="fo"><div>
<div class="bar"><div>
<div class="fo"><div>
<div class="bar"><div>
</div>

$('#myDiv div').each(function() {
if($(this).hasClass('bar'))
//do something with bar
});

我很高兴你带指数(),什么都适用于你,我希望这将帮助其他有同样问题解决您的问题。 干杯 :)

为什么不这样做呢? 经过全面测试和工作...

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

检查元素的ID是存在的

if ($('#id').attr('id') == 'id')
{
//OK
}

分类:jQuery的 时间:2012-07-15 人气:0
本文关键词: jQuery的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.489 (s). 10 q(s)