选择具有特定类的div的id

时间:2010-12-16 09:57:21

标签: jquery html

我有一些与此非常相似的东西

<div id="bigBadDiv">
<div class="head">
    blabla
</div>

<div class="contents">
    <div class="1">
        <div id="432" class="item "></div>
        <div id="45" class="item selected"></div>
        <div id="86" class="item "></div>
        <div id="3" class="item "></div>
    </div>

    <div class="2">
        <div id="443" class="item"></div>
        <div id="867" class="item selected"></div>
        <div id="43" class="item selected"></div>
        <div id="98" class="item selected"></div>
    </div>


    <div class="3">
        <div id="423" class="item selected"></div>
        <div id="167" class="item "></div>
        <div id="4453" class="item "></div>
        <div id="944" class="item "></div>
    </div>
</div>

<div class="footer">
    blabla
</div>

我想只选择 .selected 项目的ID,我尝试使用

 $('#bigBadDiv :has(.selected)').css({'backgroundColor':'red'});

但它将 .contents 背景变为红色...
你知道为什么会这样吗? 你能帮我选择每个div.selected并取其id值吗?也许有某种循环..?

3 个答案:

答案 0 :(得分:5)

对于选择器,只需离开:has()包装器。对于ID部分,您可以使用.map()获取一组ID,如下所示:

var ids = $('#bigBadDiv .selected').map(function() { return this.id; }).get();

You can test it out here

答案 1 :(得分:0)

$('#bigBadDiv .selected').css({'backgroundColor':'red'});

答案 2 :(得分:0)

如果您使用标准符合

selected="selected"

您可以通过

查询结果
$('*.div').attr('selected')? Do something if : do something if not;