tag id name

G

GTi

I have several <div id='DivNumber1'> on my page.
the Id can be a random number between 1 and 65535.

I need a script where I can get all div tags and check if the ID is
DivNumber.

This does not work:
if(document.getElementById)
{
var ar = document.getElementsByTagName("DIV");
for (var i=0; i<ar.length; i++)
{
s1 = new String(ar.id);
if(s1.search('GroupItem')>=0) ar.style.display = "none";
}
}
 
G

GTi

Whops: Bugfix:

if(document.getElementById)
{
var ar = document.getElementsByTagName("DIV");
for (var i=0; i<ar.length; i++)
{
s1 = new String(ar.id);
if(s1.search('DivNumber')>=0) ar.style.display = "none";
}
}
 
E

Evertjan.

GTi wrote on 13 dec 2005 in comp.lang.javascript:
Whops: Bugfix:

if(document.getElementById)
{
var ar = document.getElementsByTagName("DIV");
for (var i=0; i<ar.length; i++)
{
s1 = new String(ar.id);
if(s1.search('DivNumber')>=0) ar.style.display = "none";
}
}


Simplified:

if(document.getElementsByTagName) {
var ar = document.getElementsByTagName("DIV");
for (var i=0; i<ar.length; i++)
if (/DivNumber/.test(ar.id))
ar.style.display = "none";
}
 
G

GTi

Evertjan,

what does / is syntax for:
/DivNumber/.test()
in
if (/DivNumber/.test(ar.id))
???
 
E

Evertjan.

GTi wrote on 13 dec 2005 in comp.lang.javascript:
Evertjan,

what does / is syntax for:
/DivNumber/.test()
in
if (/DivNumber/.test(ar.id))


/DivNumber/ is a regular expression.
regex test tests the string and returns true or false.
You don't need to setup an object here.
 
T

Thomas 'PointedEars' Lahn

GTi said:
Whops: Bugfix:

Not really.
if(document.getElementById)
{
var ar = document.getElementsByTagName("DIV");

Although both methods are defined in the same DOM Level, support
for Document::getElementById() does not imply support for
Document::getElementsByTagName() in an implementation, so you
should also feature-test the latter on run-time.

for (var i=0; i<ar.length; i++)

Instead

for (var i = ar.length; i--;)

since order does not matter; if it does matter, use

for (var i = 0, len = ar.length; i < len; i++)
{
s1 = new String(ar.id);


Java != JavaScript. You do not need to create a String object in order
to work with string values or to apply properties of String.prototype.
For type conversion to string, use the String(noString) function or
the toString(noString).method. And since the value of the `id'
attribute/property already is a string, there is no type conversion
necessary.
if (s1.search('DivNumber')>=0) ar.style.display = "none";


Instead:

var o = ar;
if (o.id.indexOf('DivNumber') >= 0)
{
if (typeof o.style != "undefined"
&& typeof o.style.display != "undefined")
{
o.style.display = "none";
}
}


HTH

PointedEars
 
G

GTi

I have a menu structure with several <div id=DivNumberxxxx> that is
blocks of menu groups. But I also have other <div id=whatever> sections
that I don't want to hide.
But it still don't work - it hide <div id=whatever> also :

I have this function:

function MainMenuGroupExpand(obj)
{
if(document.getElementsByTagName)
{
var el = document.getElementById(obj);
var ar =
document.getElementById("MenuGroup").getElementsByTagName("DIV");
if(el.style.display == "none")
{
for (var i=ar.length; i--;)
{
var o = ar;
if (o.id.indexOf('DivNumber') == 0)
{
if((typeof o.style != "undefined") && (typeof o.style.display
!= "undefined"))
{
o.style.display = "none";
}
}
}
el.style.display = "block";
}
}
}
 
G

GTi

Yes - it does work.
It was a spelling error by me.
MenuGroup -> MenyGroup
Sorry and thanks for helping me :)
 
T

Thomas 'PointedEars' Lahn

GTi said:
I have a menu structure with several <div id=DivNumberxxxx> that is
blocks of menu groups. But I also have other <div id=whatever> sections
that I don't want to hide.
But it still don't work - it hide <div id=whatever> also :

I have this function:

function MainMenuGroupExpand(obj)
{
if(document.getElementsByTagName) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
{
var el = document.getElementById(obj); ^^^^^^^^^^^^^^^^^^^^^^^^
var ar =
document.getElementById("MenuGroup").getElementsByTagName("DIV"); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
if(el.style.display == "none")
{
for (var i=ar.length; i--;)
{
var o = ar;
if (o.id.indexOf('DivNumber') == 0)

^^
Have you /really/ read _and_ understood what I posted?


PointedEars
 
G

GTi

Hmm...
Looks like I have overlooked something here.
Yes I have readed it but I admit that I do not understand it 100%
if (o.id.indexOf('DivNumber') == 0)
It is always the beginning of the tag name. It will ignore
id='otherDivNumer'

I must try to understand what the other 'red markers' are.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,431
Messages
2,571,679
Members
48,796
Latest member
Greg L.

Latest Threads

Top