Try making a full formed "a" element, $('<a></a>'). IE is a bit fussy
sometimes about what it will create, it will fail when you specify an
"open" element.

Karl Rudd

On Thu, Apr 3, 2008 at 3:47 AM, Peter Bengtsson <[EMAIL PROTECTED]> wrote:
>
>  I'm going to explain my problem by code. Both of these work perfectly
>  fine in Firefox but only the *second one* works in IE 6.
>
>
>  ** THE ONE I WANTED TO WRITE **
>
>  function __duplicateToolbarButtons() {
>    // Make "save" and "save and view" buttons appear in toolbar
>    if ($('#CMSButtonBar').size() && $
>  ('input.duplicateintoolbar').size()) {
>       // Next, make <A> elements then put them into button bar
>       $('input.duplicateintoolbar').each(function() {
>          var btn = this;
>          var a = $("<a>")
>            .attr('href','#')
>              .addClass('ButtonAction')
>                .click(function() {
>                   btn.click(); return false
>                })
>                  .text(btn.value);
>
>          // insert it just before the last <div> in that area
>          $('div', $('#CMSButtonBar')).slice(-1).before(a);
>
>       });
>    }
>  }
>
>
>  ** THE ONE I HAD TO WRITE **
>
>  function __duplicateToolbarButtons() {
>    // Make "save" and "save and view" buttons appear in toolbar
>    if ($('#CMSButtonBar').size() && $
>  ('input.duplicateintoolbar').size()) {
>       // Next, make <A> elements that put them into button bar
>       $('input.duplicateintoolbar').each(function() {
>          var btn = this;
>
>          var a = document.createElement('a');
>          a.setAttribute('href','#');
>          a.className='ButtonAction'; //
>  a.setAttribute('class','ButtonAction') doesn't work
>          a.onclick=function() {btn.click(); return false};
>          a.innerHTML=btn.value;
>
>          // insert it just before the last <div> in that area
>          $('div', $('#CMSButtonBar')).slice(-1).before(a);
>
>       });
>    }
>  }
>
>
>  At first I thought it was something wrong with the way I appended the
>  created element into the DOM tree but then I added this code just
>  after the $('<a>')... stuff::
>
>   alert(a.size());
>
>  In Firefox it said 1 (as expected) but in IE 6 it said 0!! Why?
>  Are there pitfalls I don't know about in creating elements in IE that
>  are FAQ?
>
>  PS. This is jquery-1.2.3.min.js and the piece of junk is IE 6.0 sp2.
>

Reply via email to