Holy crap... I finally fixed this... It was an order of scripts issue... I re-ordered my JavaScript and now it works in IE and FireFox.
New code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Untitled</title> <script src="http://accountant.intuit.com/includes/scripts/jquery- latest.js"></script> <script type="text/javascript"> $(function(){ function createDivs() { // Create Div Layer to Clear Floats var taxProListingClear = document.createElement('div'); taxProListingClear.className='clear'; taxProListingClear.appendChild(document.createTextNode('\u00a0')); // Create the Main Container var taxProListingRowCont = document.createElement('div'); taxProListingRowCont.className='taxProListingRowCont'; // Create the Map Marker Column Container var taxProListingMapCol = document.createElement('div'); taxProListingMapCol.className='mapCol'; // Create the Map Marker Image var taxProListingMapMark = document.createElement('img') taxProListingMapMark.setAttribute('src','/images/duh.jpg'); taxProListingMapMark.setAttribute('height',16); taxProListingMapMark.setAttribute('width',16); // Add the Map Marker Image to the Map Marker Column Container taxProListingMapCol.appendChild(taxProListingMapMark); // Add the Map Marker Column Container to the Main Container taxProListingRowCont.appendChild(taxProListingMapCol); // Create the Name Column Container var taxProListingNameCol = document.createElement('div'); taxProListingNameCol.className='nameCol'; taxProListingNameCol.appendChild(document.createTextNode('John Doe')); // Add the Name Column Container to the Main Container taxProListingRowCont.appendChild(taxProListingNameCol); // Create the Contact Information Container var taxProListingContactCol = document.createElement('div'); taxProListingContactCol.className='contactCol'; taxProListingContactCol.appendChild(document.createTextNode('phone number')); taxProListingContactCol.appendChild(document.createElement('br')); taxProListingContactCol.appendChild(document.createTextNode('full address')); taxProListingContactCol.appendChild(document.createElement('br')); // Create the Contact Email Address Link var taxProListingContactEmail = document.createElement('a'); taxProListingContactEmail.setAttribute('href','mailto:[EMAIL PROTECTED]'); taxProListingContactEmail.appendChild(document.createTextNode('[EMAIL PROTECTED]')); // Add the Contact Email Address Link to the Contact Information Container taxProListingContactCol.appendChild(taxProListingContactEmail); // Add the Contact Information Container to the Main Container taxProListingRowCont.appendChild(taxProListingContactCol); // Create the View Profile Link Container var taxProListingViewProCol = document.createElement('div'); taxProListingViewProCol.className='profileCol'; // Create the View Profile Link var taxProListingViewProLink = document.createElement('a'); taxProListingViewProLink.className='showProfile'; taxProListingViewProLink.setAttribute('href','javascript:void(0);'); taxProListingViewProLink.appendChild(document.createTextNode('+ View Profile')); // Add the View Profile Link to the View Profile Container taxProListingViewProCol.appendChild(taxProListingViewProLink); // Add the View Profile Container to the Main Container taxProListingRowCont.appendChild(taxProListingViewProCol); // Create the Full Profile Container var taxProListingFullProfile = document.createElement('div'); taxProListingFullProfile.className='fullProfile'; // Create the Full Profile Padding Container var taxProListingFullProfilePad = document.createElement('div'); taxProListingFullProfilePad.className='fullProPad'; taxProListingFullProfilePad.appendChild(document.createTextNode('This is the full profile.....')); // Add the Full Profile Padding Container to the Full Profile Container taxProListingFullProfile.appendChild(taxProListingFullProfilePad); // Add the Full Profile Container to the Main Container taxProListingRowCont.appendChild(taxProListingFullProfile); // Add the Main Container to the page document.getElementById('taxProContainer').appendChild(taxProListingRowCont); document.getElementById('taxProContainer').appendChild(taxProListingClear); } createDivs(); var aniSpeed = 500 $(".showProfile").click(function(){ var isDisplayed = $(this).parent().next(); if (isDisplayed.css("display") == 'none') { isDisplayed.slideDown(aniSpeed); $(this).text("- Close Profile"); } else { isDisplayed.slideUp(aniSpeed); $(this).text("+ View Profile"); } return false; }); $(".expandCollapse").click(function(){ var isDisplayed = $(".fullProfile") if (isDisplayed.css("display") == 'none') { isDisplayed.slideDown(aniSpeed); $(this).text("- Collapse All Profiles"); $(".showProfile").text("- Close Profile"); } else { isDisplayed.slideUp(aniSpeed); $(this).text("+ Expand All Profiles"); $(".showProfile").text("+ View Profile"); } return false; }); }); </script> <style type="text/css"> @import url(http://accountant.intuit.com/css/style.css); body {padding: 10px;} #taxProListingTitleCont {float: left; background: #eee; border: 1px solid #ccc; font-weight: bold;} .taxProListingRowCont {float: left; border: solid #ccc; border-width: 0px 1px 1px 1px;} .mapCol {float: left; padding: 10px; width: 40px; text-align: center;} .nameCol {float: left; padding: 10px; width: 150px;} .contactCol {float: left; padding: 10px; width: 310px;} .profileCol {float: left; padding: 10px; width: 90px;} .fullProfile {display: none; clear: both;} .clear {clear: both; font-size: 1px; height: 0px;} .fullProPad {padding: 10px;} </style> </head> <body> <a href="javascript:void(0);" class="expandCollapse">+ Exand All Profiles</a> <br /><br /> <div id="taxProListingTitleCont"> <div class="mapCol">Map:</div> <div class="nameCol">Name:</div> <div class="contactCol">Contact Information:</div> <div class="profileCol">Profile:</div> </div> <div class="clear"> </div> <div id="taxProContainer"></div> </body> </html>