views:

4106

answers:

3

A .container can contain many .components, and .components themselves can contain .containers (which in turn can contain .components etc. etc.)

Given code like this:

$(".container .component").each(function()
{
    $(".container", this).css('border', '1px solid #f00');
});

What do I need to add to the line within the braces to select only the nested .containers that have their width in CSS set to 'auto'? I'm sure it's something simple, but I haven't really used jQuery all that much.

+3  A: 
$(".container .component").each(function() {
    if ($(".container", this).css('width') === "auto")
        $(".container", this).css('border', '1px solid #f00');
});
travis
A: 

I think you want an attribute selector

John Sheehan
+5  A: 
$(".container .component").each(function()
{
    $(".container", this).each(function() {
        if($(this).css('width') == 'auto')
        {
            $(this).css('border', '1px solid #f00');
        }
    });
});

Similar to the other answer but since components can also have multiple containers, also needs the .each() check in here too for the width.

David McLaughlin