PDA

View Full Version : Div cannot be found using getElementsByTagName



raredesign
31 Mar 2009, 05:20 PM
I have a few issues here:

for some background, I am working with a Microsoft solution that generates report pages, but I don't want one of the links to work. My effort is to replace the link with a javascript:void(0).

1) I am searching for a div with a class of 'myclass', but the array is skipping it entirely.
Many of the divs on the page are found, but not the one I am after, it is very strange.

2) Even if I do find the div (in other tests), I can't get the link to be replaced without referencing document.links[i]. I can pull the same value by using document.getElementsByTagName('div')[i].childNodes[0]); but I cannot replace it with a different value. Instead I just get a JS page error saying that it is not supported or something.

I know my code below will not work, since it is taking for granted that the only links on the page are actually in a div. So what happens when there is a link outside of the div? Then the reference that I have of document.links[i], becomes irrelevant to the position in the array based on the number of div's.

here is what I have:

<script type="text/javascript">
window.onload= function(){
DisableEnableLinks()
}


function DisableEnableLinks()
{
var elements=document.getElementsByTagName('div');
for (i=0; i<elements.length; i++){
//alert(elements[i].className);
//alert(elements[i].childNodes[0]);
if (elements[i].className == 'myclass'){
alert(elements[i].className);
document.links[i].href = "javascript:void(0)";
}
}
}
</script>

raredesign
01 Apr 2009, 10:12 AM
this just became much more difficult. Even if I get this working, I don't see how I can overwrite the anchor since there isn't one! One of the JS files must be doing a getElement lookup and then using a postback or something, because on the text that I am trying to remove the link from, there is absolutely no event to cause the hyperlink.

it is simply text with an H3 tag and a class assigned to the <tr> it is in.