By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,190 Members | 1,653 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,190 IT Pros & Developers. It's quick & easy.

<ul>s nested in <li>s - how to get the on on higher level ?

P: n/a
abs
Anybody has an idea how to get the <ul> element which is not nested in <li>
element ? In other words I have several lists like this:

<ul id="1">
<li>Aaaaaaaa</li>
<li>Bbbbbbbb</li>
<li>Cccccccc
<ul>
<li>111111</li>
<li>222222</li>
<li>333333
<ul>
<li>@@@@@@@@@</li>
<li>{{{{{{{}</li>
<li>????>>>>></li>
</ul>
</li>
</ul>
</li>
</ul>

<ul id"2">
<li>qqq</li>
<li>vvvv</li>
</ul>

and I want to get the <ul>s which have id "1" and "2" in this example but I
can't use ids to get them.

Best regards,
ABS
Jul 23 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
abs wrote:
Anybody has an idea how to get the <ul> element which is not nested in <li> element ? In other words I have several lists like this:

<ul id="1">
<li>Aaaaaaaa</li>
<li>Bbbbbbbb</li>
<li>Cccccccc
<ul>
<li>111111</li>
<li>222222</li>
<li>333333
<ul>
<li>@@@@@@@@@</li>
<li>{{{{{{{}</li>
<li>????>>>>></li>
</ul>
</li>
</ul>
</li>
</ul>

<ul id"2">
<li>qqq</li>
<li>vvvv</li>
</ul>

and I want to get the <ul>s which have id "1" and "2" in this example but I can't use ids to get them.


Hmm...very mysterious. Oh, well...any chance we could see the rest of
your document structure - not just that subtree?

var i = 0,
ul,
unnested_uls = [],
all_uls = document.getElementsByTagName('ul');
while (ul = all_uls.item(i++))
if (null == ul.getElementsByTagName('ul'))
unnested_uls.push(ul);

....should get you a collection of them.

http://www.webreference.com/programm.../chap17/7.html

Jul 23 '05 #2

P: n/a
abs wrote:
Anybody has an idea how to get the <ul> element which is not nested in <li>
element ? In other words I have several lists like this:

<ul id="1">
An id should start with a letter, though it may contain numbers and
some other characters.

<URL:http://www.w3.org/TR/html401/types.html#type-name>
<li>Aaaaaaaa</li>
<li>Bbbbbbbb</li>
<li>Cccccccc
<ul>
<li>111111</li>
<li>222222</li>
<li>333333
<ul>
<li>@@@@@@@@@</li>
<li>{{{{{{{}</li>
<li>????>>>>></li>
</ul>
</li>
</ul>
</li>
</ul>

<ul id"2">
<ul id="2">
<li>qqq</li>
<li>vvvv</li>
</ul>

and I want to get the <ul>s which have id "1" and "2" in this example but I
can't use ids to get them.

Best regards,
ABS


Add this button to your page:

<input type="button" value="Click me" onclick="
var uls = document.getElementsByTagName('ul');
var i = uls.length;
while (i--){
if ( 'LI' != uls[i].parentNode.nodeName) {
alert('found ' + uls[i].id);
}
}
">

If you don't want to use getElementsByTagName, you could just walk
down the DOM tree, but that is getting really silly.
--
Rob
Jul 23 '05 #3

P: n/a
RobB wrote:
abs wrote:
Anybody has an idea how to get the <ul> element which is not nested in <li>
element ? In other words I have several lists like this:

<ul id="1">
<li>Aaaaaaaa</li>
<li>Bbbbbbbb</li>
<li>Cccccccc
<ul>
<li>111111</li>
<li>222222</li>
<li>333333
<ul>
<li>@@@@@@@@@</li>
<li>{{{{{{{}</li>
<li>????>>>>></li>
</ul>
</li>
</ul>
</li>
</ul>

<ul id"2">
<li>qqq</li>
<li>vvvv</li>
</ul>

and I want to get the <ul>s which have id "1" and "2" in this

example but I
can't use ids to get them.


Hmm...very mysterious. Oh, well...any chance we could see the rest of
your document structure - not just that subtree?

var i = 0,
ul,
unnested_uls = [],
all_uls = document.getElementsByTagName('ul');
while (ul = all_uls.item(i++))
if (null == ul.getElementsByTagName('ul'))
unnested_uls.push(ul);

...should get you a collection of them.

http://www.webreference.com/programm.../chap17/7.html

Eesh...early morning here. Never mind.

Jul 23 '05 #4

P: n/a
abs
Hi!

RobG wrote:
An id should start with a letter, though it may contain numbers and
some other characters.
Understood. But it was just an example :) I never use numeric ids :)
Add this button to your page: [...]
If you don't want to use getElementsByTagName, [...]


That's fine, I can use it. Thank you a lot for your help, I'll check it now
!

Best regards,
ABS
Jul 23 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.