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>
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>