kwoxer
kwoxer

Reputation: 3833

Multiple classes or IDs in one jQuery statement used for addressing one specific element

I would like to know how I can have more then one ID and one class in one jQuery statement. So let's say I have this one:

<div id="content1">
    <div id="names">
        <div class="subheader">
            Other names
        </div>
        <div class="subtext">
        </div>
    </div>
    <div id="age">
        <div class="subheader">
            Age
        </div>
        <div class="subtext">
        </div>
    </div>
</div>
<div id="content2">
    <div id="names">
        <div class="subheader">
            Other names
        </div>
        <div class="subtext">
        </div>
    </div>
    <div id="age">
        <div class="subheader">
            Age
        </div>
        <div class="subtext">
        </div>
    </div>
</div>

How can I now do something like:

$("#content #names.subtext").html("some name");

I also tried to use names and age as class. But there I have the same trouble. So is this issue really one or how should that usually be solved instead?

Upvotes: 0

Views: 77

Answers (3)

o--oOoOoO--o
o--oOoOoO--o

Reputation: 770

As IDs must be unique, you will have to use classes instead:

<div id="content1">
    <div class="names">
        <div class="subheader">
            Other names
        </div>
        <div class="subtext">
        </div>
    </div>
    <div class="age">
        <div class="subheader">
            Age
        </div>
        <div class="subtext">
        </div>
    </div>
</div>
<div id="content2">
    <div class="names">
        <div class="subheader">
            Other names
        </div>
        <div class="subtext">
        </div>
    </div>
    <div class="age">
        <div class="subheader">
            Age
        </div>
        <div class="subtext">
        </div>
    </div>
</div>



$(".names .subtext").html("some name");

Upvotes: 1

empiric
empiric

Reputation: 7878

If the elements are direct childs of your content you can use the child-selector of css:

$('#content > #names > .subtext').html('some name');

Demo

Upvotes: 1

Tyranicangel
Tyranicangel

Reputation: 189

You can use .find

$('#content').find('#names').find('.subtext').html('foo');

Upvotes: 1

Related Questions