Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 5 of 5
  1. #1
    New to the CF scene
    Join Date
    Apr 2009
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Div cannot be found using getElementsByTagName

    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:
    Code:
    <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>
    Last edited by Kor; 04-02-2009 at 12:23 PM. Reason: wrap the code [code][/code]

  • #2
    New to the CF scene
    Join Date
    Apr 2009
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    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.

  • #3
    Kor
    Kor is offline
    Red Devil Mod Kor's Avatar
    Join Date
    Apr 2003
    Location
    Bucharest, ROMANIA
    Posts
    8,478
    Thanks
    58
    Thanked 379 Times in 375 Posts
    post the HTML structure of your site (or the significant repetitive part of it - divs and links)
    KOR
    Offshore programming
    -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

  • #4
    New to the CF scene
    Join Date
    Apr 2009
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    It is not pretty since it was generated by MS's PerformancePoint and is being used in Sharepoint.
    The events you see in the code below are actually for a separate drop down menu for the webpart.
    I am trying to find out how they linked
    <span>KPI Dashboard</span>
    I have been going through all of the back end JS libraries but they are written well...meaning nothing adhoc ;-)

    The problem is that even though I have a class id, and certain text I can go on, I have to leave it globably usable since each page will have a different id for the webpart as well as different text for the title.

    Code:
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    	<tr>
    		<td id="MSOZoneCell_WebPartctl00_m_WebPart_5dea3c6916304228a4970e4e171e2fde" vAlign="top"><table TOPLEVEL border="0" cellpadding="0" cellspacing="0" width="100%">
    			<tr>
    				<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
    					<tr class="ms-WPHeader">
    						<td title="KPI Dashboard" id="WebPartTitlectl00_m_WebPart_5dea3c6916304228a4970e4e171e2fde" style="width:100%;"><h3 class="ms-standardheader ms-WPTitle"><nobr><span>KPI Dashboard</span><span id="WebPartCaptionctl00_m_WebPart_5dea3c6916304228a4970e4e171e2fde"></span></nobr></h3></td><td align="right" style="padding-right:2px"><div style="cursor: pointer" class="ms-HoverCellInActive" onmouseout="this.className='ms-HoverCellInActive'" onmouseover="this.className='ms-HoverCellActiveDark'"><nobr><a onclick="MSOWebPartPage_OpenMenu(WebPartctl00_m_WebPart_5dea3c6916304228a4970e4e171e2fde_Menu, this, WebPartctl00_m_WebPart_5dea3c6916304228a4970e4e171e2fde,'False');return false;" id="WebPartctl00_m_WebPart_5dea3c6916304228a4970e4e171e2fde_MenuLink" onkeydown="MSOMenu_KeyboardClick(WebPartctl00_m_WebPart_5dea3c6916304228a4970e4e171e2fde_MenuLink, 13, 40)" href="#"><img src="/_layouts/images/Menu1.gif" border="0" align="absmiddle" title="KPI Dashboard Web Part Menu" alt="KPI Dashboard Web Part Menu" style="padding-left:2px;" /></a></nobr></div></td>
    					</tr>
    				</table>
    Last edited by raredesign; 04-01-2009 at 06:03 PM.

  • #5
    Supreme Master coder! abduraooft's Avatar
    Join Date
    Mar 2007
    Location
    N/A
    Posts
    14,853
    Thanks
    160
    Thanked 2,223 Times in 2,210 Posts
    Blog Entries
    1
    In the above posted code, I see only one div(using FF's search) having class="ms-HoverCellInActive"

    Please edit your post and add [CODE][/CODE] tags around your code.
    The Dream is not what you see in sleep; Dream is the thing which doesn't let you sleep. --(Dr. APJ. Abdul Kalam)


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •