2010-06-14 9 views
0

j'ai le morceau suivant de code HTML sur ma page:Jquery trouver le comportement dans Firefox 3.5.9

<tr> 
    <td> 
    <div> 
     <input type="hidden" name="test" value=""> 
     <input autocomplete="off" class="ffb-input watermark"> 
     <div class="ffb"> 
     <div class="content"> 
     </div> 
     </div> 
    </div> 
    </td> 
</tr> 

En JavaScript Je reçois l'élément <tr> en utilisant jquery et essayer de rechercher l'entrée comme ceci:

tr.find('div input:hidden') 

mais rien n'est retourné. Lorsque j'utilise trouver comme ceci:

tr.find('div input[type=hidden]') 

Tout fonctionne bien. Quelle est la raison d'un tel comportement? je vois ce que dans FireFox 3.5.9, pas 3.6.3, Jquery

+1

Qu'est-ce que 'alert (tr.find ('entrée div [type = caché]'). width());' et 'alert (tr.find ('entrée div [type = caché]'). height());' donner vous en FF 3.5.9? –

+0

Oui, vous avez raison, FF 3.5.9 donne la valeur de 162 pour la largeur, alors que FF 3.6.3 donne zéro. – dragoon

Répondre

0
1.4.2

L'attribut type ne semble pas être pris en compte pour le sélecteur :hidden. Comme indiqué dans les commentaires, il devrait être, de sorte que vous pourriez vouloir file a bug.

Cela semble être le code pour :hidden:

if (jQuery.expr && jQuery.expr.filters) { 
    jQuery.expr.filters.hidden = function(elem) { 
     var width = elem.offsetWidth, height = elem.offsetHeight, 
      skip = elem.nodeName.toLowerCase() === "tr"; 

     return width === 0 && height === 0 && !skip ? 
      true : 
      width > 0 && height > 0 && !skip ? 
       false : 
       jQuery.curCSS(elem, "display") === "none"; 
    }; 

    jQuery.expr.filters.visible = function(elem) { 
     return !jQuery.expr.filters.hidden(elem); 
    }; 
} 

Je ne vois rien de mal évidemment, mais vous pouvez essayer de déboguer le code et soumettre un patch, peut-être ..

+1

Mais pourquoi cela fonctionne-t-il dans FF 3.6.3, Chrome et IE? – dragoon

+0

En fait, il * correspond * à 'input type =" hidden "' - http://api.jquery.com/hidden-selector – BoltClock

+0

@dragoon - Désolé, n'a pas remarqué ce détail. Vous pourriez vouloir déposer un bug. – Matt

Questions connexes