This took me some seriously wasted time to figure out yesterday. What I was trying to do was to create a DOM element of tag type A and insert it into the DOM tree of my page. As I was coding along, everything was working just fine in Firefox but the damn thing wouldn't show up anywhere in IE 6. I debugged and debugged and tried all kinds of different approaches and I just couldn't work it out. Then Karl Rudd gave the right hint on the jQuery mailing list.

Basically, what I was doing was something like this:


var a = $("<a>").attr('href','#').click(somefunction);
$('#toolbar').append(a);

What was then so strange is now less surprising. When I changed the <a> to a <span> it actually worked but just looked wrong with the rest of the site I was working on. Here's the correct way of doing it:


var a = $("<a></a>").attr('href','#').click(somefunction);
$('#toolbar').append(a);

Notice the difference between <a> and <a></a>. The strange thing is that to reproduce this I created this test.html page but here I noticed that in IE 6 it won't let you add any elements that are enclosing ones that are written as singulars. That's really strange since in the same javascript as the above stuff I did a $("<div>") which was working fine. I'll have to get back to figuring out why that one worked nad the A one didn't.

Comments

Post your own comment
andy

How the hell did I never know this until now? I've been coding with jQuery for almost a year now and didn't realize this until trying to debug an IE issue just this week. Thanks for the clarification.

whatispunk

Ever try using <a/>? Does that work?

andre

My guess why "<div>" worked and "<a>" didn't is that "div" tags can be nested, while "a" tags cannot; while each browser may have auto-closed the tags somewhere, IE didn't like the nesting.

Anonymous

good

jazz

---
you saved my day!! thanks man

jazz

btw whats the thought behind hiding captcha until user tried to add a comment... :S its annoying. i'm using google chrome

Your email will never ever be published.

Previous:
One thing I hate about Linux: cron March 31, 2008 Linux
Next:
pwdf - a mix of ls and pwd April 7, 2008 Linux
Related by category:
Switching from Next.js to Vite + wouter July 28, 2023 JavaScript
How to SSG a Vite SPA April 26, 2025 JavaScript
An ideal pattern to combine React Router with TanStack Query November 18, 2024 JavaScript
get in JavaScript is the same as property in Python February 13, 2025 JavaScript
Related by keyword:
How to fadeIn and fadeOut like jQuery but with Cash August 24, 2021 JavaScript
From jQuery to Cash June 18, 2019 Web development, JavaScript
Difference between $.data('foo') and $.attr('data-foo') in jQuery June 10, 2012 JavaScript
jQuery and Highslide JS January 8, 2008 JavaScript