2011-09-30 3 views
1

Je cours ce code dans Firefox v6.0.2 et IE7. Dans Firefox, je sélectionne le bouton radio. Puis cliquez sur test. Je reçois une longueur de chaîne de . Dans IE7, j'obtiens une longueur de chaîne de .S'il vous plaît expliquer cette différence dans cross browser string.length

<script type="text/javascript"> 
    function TestMethod() { 

     var name; 
     var address; 
     var city; 
     var state; 
     var zip; 

     var indexor = 0; 
     $('input[name=radioBtnSet1]:checked').parent().siblings().each(function (i, cell) { 
      if (indexor === 0) 
       name = $(cell).text(); 
      else if (indexor === 1) 
       address = $(cell).text(); 
      else if (indexor === 2) 
       city = $(cell).text(); 
      else if (indexor === 3) 
       state = $(cell).text(); 
      else if (indexor === 4) 
       zip = $(cell).text(); 

      indexor++; 
     }); 

     alert(name.length); 
     alert('FACILITY NAME: ' + '|' + name + '|'); 
    } 
</script> 

<input id="runTest" onclick="javascript:TestMethod();" type="button" value="Test"/> 

<table id="someTable"> 
<thead> 
    <tr> 
     <th></th> 
     <th>Header</th> 
     <th class="DisplayNone"></th> 
     <th class="DisplayNone"></th> 
     <th class="DisplayNone"></th> 
     <th class="DisplayNone"></th> 
     <th>Date</th> 
    </tr> 
</thead> 
<tbody> 
<tr> 
    <td><input type="radio" value=" HHH VALUE" name="radioBtnSet1" /></td> 
    <td style="text-align: left;"> HHH VALUE</td><td class="DisplayNone">200 SOME STREET DR</td> 
    <td class="DisplayNone">CITY</td><td class="DisplayNone">TX</td> 
    <td class="DisplayNone">75007-3726</td> 
    <td style="padding-left: 1em;">9/30/2011</td> 
</tr> 
</tbody> 
<tfoot> 
    <tr> 
     <th></th> 
     <th></th> 
     <th class="DisplayNone"></th> 
     <th class="DisplayNone"></th> 
     <th class="DisplayNone"></th> 
     <th class="DisplayNone"></th> 
     <th></th> 
    </tr> 
</tfoot> 
</table> 

Pourquoi? Comment puis-je obtenir ces équivalents?

+0

Avez-vous besoin du préfixe "HHH"? –

+2

Il faudra encore beaucoup plus de temps pour que les gens puissent vous aider utilement, il y a beaucoup de choses sans rapport avec le code dans la question. –

+0

Oui, l'espacement est un must. Si nécessaire, peut réduire plus tard. Sur la route –

Répondre

4

Comme il peut être vu dans les commentaires dans la page this, le problème est avec la fonction text de jQuery. Dans IE 7, il ne conserve pas les espaces blancs de début et de fin. En FF, c'est le cas. D'où les différentes chaînes et différentes longueurs dans IE 7 et FF.

Si vous avez besoin des espaces, essayez d'utiliser &nbsp; à la place.

Questions connexes