Reputation: 3833
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
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
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');
Upvotes: 1
Reputation: 189
You can use .find
$('#content').find('#names').find('.subtext').html('foo');
Upvotes: 1