K
Kristian
This is my document body content:
<div id="nodeTree" class="nodeTree" title="nodeTree">
<div id="Hovedside" title="Hovedside" class="branch">
Hovedside
<div id="Produkter" title="Produkter" class="branch">
Produkter
<div id="Produkter_1" title="Produkter 1" class="branch">
Produkter 1
</div>
<div id="Produkter_2" title="Produkter 2" class="branch">
Produkter 2
<div id="Produkter_2.1" title="Produkter 2.1" class="branch">
Produkter 2.1
</div>
<div id="Produkter_2.2" title="Produkter 2.2" class="branch">
Produkter 2.2
<div id="Produkter_2.2.1" title="Produkter 2.2.1"
class="branch">
Produkter 2.2.1
</div>
</div>
</div>
<div id="Produkter_3" title="Produkter 3" class="branch">
Produkter 3
</div>
</div>
<div id="Service" title="Service" class="branch">
Service
<div id="Udvikling" title="Udvikling" class="branch">
Udvikling
</div>
<div id="Design" title="Design" class="branch">
Design
</div>
</div>
<div id="Om_firmaet" title="Om firmaet" class="branch">
Om firmaet
</div>
</div>
</div>
And this is my script:
<script type="text/javascript">
window.onload = function(){
parseTree( document.getElementById('nodeTree') );
}
function parseTree( n )
{
if( n.nodeType == 1 )
{
n.onclick = function() {
alert(this.getAttribute('id'));
}
}
if( n.hasChildNodes() )
{
for( var i = 0; i < n.childNodes.length; i++ )
{
parseTree( n.childNodes );
}
}
}
</script>
If you test it by clicking 'Produkter_2.2.1' an alert box will show
containing the text 'Produkter_2.2.1' which is exactly what I want.
But it travels all the way back to the root node as well.
How do I stop the function from travelling all the way back to the
root node?
<div id="nodeTree" class="nodeTree" title="nodeTree">
<div id="Hovedside" title="Hovedside" class="branch">
Hovedside
<div id="Produkter" title="Produkter" class="branch">
Produkter
<div id="Produkter_1" title="Produkter 1" class="branch">
Produkter 1
</div>
<div id="Produkter_2" title="Produkter 2" class="branch">
Produkter 2
<div id="Produkter_2.1" title="Produkter 2.1" class="branch">
Produkter 2.1
</div>
<div id="Produkter_2.2" title="Produkter 2.2" class="branch">
Produkter 2.2
<div id="Produkter_2.2.1" title="Produkter 2.2.1"
class="branch">
Produkter 2.2.1
</div>
</div>
</div>
<div id="Produkter_3" title="Produkter 3" class="branch">
Produkter 3
</div>
</div>
<div id="Service" title="Service" class="branch">
Service
<div id="Udvikling" title="Udvikling" class="branch">
Udvikling
</div>
<div id="Design" title="Design" class="branch">
Design
</div>
</div>
<div id="Om_firmaet" title="Om firmaet" class="branch">
Om firmaet
</div>
</div>
</div>
And this is my script:
<script type="text/javascript">
window.onload = function(){
parseTree( document.getElementById('nodeTree') );
}
function parseTree( n )
{
if( n.nodeType == 1 )
{
n.onclick = function() {
alert(this.getAttribute('id'));
}
}
if( n.hasChildNodes() )
{
for( var i = 0; i < n.childNodes.length; i++ )
{
parseTree( n.childNodes );
}
}
}
</script>
If you test it by clicking 'Produkter_2.2.1' an alert box will show
containing the text 'Produkter_2.2.1' which is exactly what I want.
But it travels all the way back to the root node as well.
How do I stop the function from travelling all the way back to the
root node?