Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Bug di IE 6: perchè i commenti vengono trattati come oggetti HTML???

    Provate questo:
    codice:
    <html>
    <head>
    
    <script type="text/javascript">
    
    window.onload=function() {
    
    
    var e = document.getElementsByTagName("*");
    for(var i = 0, l = e.length; i!=l; i++) {
    	if(e[i].nodeType!=1) {e[i].style.backgroundColor = "#ffff00";
    	alert(e[i] + e[i].tagName + e[i].nodeType);
    	}
    }
    
    
    }
    
    </script>
    </head>
    <body>
    <b title="prova">1[/b]
    <div></div>
    <b title="prova">2[/b]
    <div></div>
    3
    
    
    
    <table>
    <tr id="myTr" title="ciao-io-sono">
    <td onclick="alert(this.parentNode)">elemento 0</td>
    <td>elemento 1</td>
    <td>elemento 2</td>
    <td>elemento 3</td>
    <td onclick="alert(this.previousElement());">elemento 4</td>
    <td>elemento 5</td>
    <td id="notTest">elemento 6</td>
    <td>elemento 7</td>
    <td>elemento 8</td>
    <td>elemento 9</td>
    </tr>
    <tr>
    <td onclick="alert(this.parentNode)">elemento 0</td>
    <td>elemento 1</td>
    <td>elemento 2</td>
    <td>elemento 3</td>
    <td>elemento 4</td>
    <td>elemento 5</td>
    <td>elemento 6</td>
    <td>elemento 7</td>
    <td>elemento 8</td>
    <td>elemento 9</td>
    </tr>
    <tr>
    <td onclick="alert(this.parentNode)">elemento 0</td>
    <td>elemento 1</td>
    <td>elemento 2</td>
    <td>elemento 3</td>
    <td>elemento 4</td>
    <td>elemento 5</td>
    <td>elemento 6</td>
    <td>elemento 7</td>
    <td>elemento 8</td>
    <td></td>
    </tr>
    </table>
    
    <div></div>
    <span></span>
    <div id="myChild" class="classe" title="paa">  <span class="classe">Paragrafo</span>  
    
    Altro paragrafo con link</p> </div>
    <div id="ccc" title="prendimi" class="ddd"><span>Ciao</span></div>
    <span></span>
    <div id="contenuto" title="prendimi-nn"><span>aaaaaaaaaaaaaaaaaaaaaaaaaasggggggggggggggggggggggggggg</span></div>
    <!--
    
    
    /*myS="#ccc       ~      [val=eee]    *  .rrr     >       ::after[rr=ee]#eee.fff:first-child p r";
    
    myAr=myS.split(/\s*,\s*/);
    regex=/(?:(?:#|\.|\[|::|:)*[^#\.\[:\+~>\s\*]+|\s*(\+|~|>|\*)\s*|\s+)/g;
    regex=/\s*([+])\s*/g;
    mySels="ddd   +       f     +     j".match(regex);
    
    alert(amySels);*/
    
    
    //[\[\(][^\[\(]+?[\]\)])+|
    //|\s*[\+~]\s*(?:[^\s>\+~\[\(\]\)]|\((?:[^\(\)]|\(.+?\))+?\))+|\[[^[]+?\]|\s+/
    //[#\.\:]{0,2}(?:[^\[\]\(\)#\.\:\+~>\s\*]|\((?:[^\(\)]|\(.+?\))+?\))+|\[[^[]+?\]|\*|\s*>\s*|\s*[\+~]\s*(?:[^\s>\+~\[\(\]\)]|\((?:[^\(\)]|\(.+?\))+?\)+|\[[^[]+?\])+|\s+/g
    
    -->
    </body>
    </html>
    Perchè mai document.getElementsByTagName prende anche i commenti in IE 6?
    Va bene che sono nodi, ma questo mi pare esagerato! VVoVe:

  2. #2

    Re: Bug di IE 6: perchè i commenti vengono trattati come oggetti HTML???

    Originariamente inviato da Mega69

    Perchè mai document.getElementsByTagName prende anche i commenti in IE 6?
    Va bene che sono nodi, ma questo mi pare esagerato! VVoVe:
    In effetti dalle specifiche del DOM il commento e' si' un node ma non certo un element. Diciamo che e' piu' simile ad un textNode.

    Ci stupiamo ancora dei comportamenti di IE???

    Ma a questo punto permettimi una curiosita': ma dove le vai a scovare????

  3. #3
    Stavo creando uno script per prendere elementi tramite un selettore.
    Tutto bene finchè in uno dei test mi spavento perchè analizzando il tagName degli elementi presi vedo un bel '!' VVoVe: VVoVe: VVoVe:
    Pensa che i commenti in IE 6 hanno addirittura una proprietà style!!! ( Non so se ridere o piangere, probabilmente entrambi contemporaneamente ).
    Menomale che il nodeType è 8 per i commenti, almeno me la posso cavare con un bel filter... Aspetta un attimo, IE non supporta Array.prototype.filter!

    Vabene ok, smetto di lamentarmi. Comunque qualcuno sa dirmi se questo bug era già conosciuto?

    [EDIT] facendo un pò di ricerche ho trovato che anche Dean Edwards parla di questo bug. Fortunatamente la versione 7 pare non soffrirne.
    Il problema è proprio che questi nodi hanno una proprietà tagName == '!'
    Sembra una barzelletta ma è la realtà.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.