Reputation: 4950
Let's say I have the following very simple XML fragment:
<assignmentOptions>
<MessageCharacterLimit value="4000" type="integer"></MessageCharacterLimit>
</assignmentOptions>
<options>
<MessageCharacterLimit value1="1000" type="integer"></MessageCharacterLimit>
<MessageCharacterLimit value2="2000" type="integer"></MessageCharacterLimit>
</options>
How can I find all MessageCharacterLimit under <options>
?
MessageCharacterLimit is not unique, but options/MessageCharacterLimit is.
Thanks
Upvotes: 1
Views: 29
Reputation: 73241
You can use querySelectorAll()
for this:
var a = document.querySelectorAll('options > MessageCharacterLimit');
console.log(a)
<assignmentOptions>
<MessageCharacterLimit value="4000" type="integer"></MessageCharacterLimit>
</assignmentOptions>
<options>
<MessageCharacterLimit value1="1000" type="integer"></MessageCharacterLimit>
<MessageCharacterLimit value2="2000" type="integer"></MessageCharacterLimit>
</options>
You may then loop over the collection you get like this:
var a = document.querySelectorAll('options > MessageCharacterLimit');
for (var i = 0; i<a.length; i++) {
console.log(a[i].getAttribute('type'));
}
<assignmentOptions>
<MessageCharacterLimit value="4000" type="integer"></MessageCharacterLimit>
</assignmentOptions>
<options>
<MessageCharacterLimit value1="1000" type="integer"></MessageCharacterLimit>
<MessageCharacterLimit value2="2000" type="integer"></MessageCharacterLimit>
</options>
Upvotes: 1