0

工作,为什么我下面的代码不会在IE7工作,但在铬,歌剧,mozila工作....。为什么这个jQuery手风琴代码不IE7

的JavaScript:

$(function(){ 
    $(".sub").hide(); 
    $("tr#sub1").show(); 
    $(".expandSub a").click(function(){ 
     var relValue = $(this).attr("rel"); 
     $("tr#"+relValue).toggle(); 
     var t = $(this).text(); 
     if(t=="+")$(this).html("-"); 
     else if(t=="-")$(this).html("+"); 
     return false; 
    }); 
}); 

HTML:

<table cellspacing="0"> 
    <tr class="headRow"> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td width="350px" align="center">Title</td> 
    </tr> 
    <tr class="leadRow"> 
     <td class="expandSub"><a href="" rel="sub1">-</a></td> 
     <td>1</td> 
     <td>Cake</td> 
    </tr> 
    <tr class="sub" id="sub1"> 
     <td>&nbsp;</td> 
     <td>1</td> 
     <td>Red Velvet Cakes</td> 
    </tr> 
    <tr class="sub evenRow" id="sub1"> 
     <td>&nbsp;</td> 
     <td>2</td> 
     <td>Cupcake Recipes</td> 
    </tr> 
    <tr class="sub" id="sub1"> 
     <td>&nbsp;</td> 
     <td>3</td> 
     <td>Pineapple Mojo Cake</td> 
    </tr> 
    <tr class="sub evenRow" id="sub1"> 
     <td>&nbsp;</td> 
     <td>2</td> 
     <td>Carrot Cake Recipes</td> 
    </tr> 
    <tr class="sub" id="sub1"> 
     <td>&nbsp;</td> 
     <td>3</td> 
     <td>Zucchini Chocolate Chip Cake</td> 
    </tr> 

    <tr class="leadRow"> 
     <td class="expandSub"><a href="" rel="sub2">+</a></td> 
     <td>2</td> 
     <td>Cookies</td> 
    </tr> 
    <tr class="sub" id="sub2"> 
     <td>&nbsp;</td> 
     <td>1</td> 
     <td>Chocolate Chip Cookie Recipes</td> 
    </tr> 
    <tr class="sub evenRow" id="sub2"> 
     <td>&nbsp;</td> 
     <td>1</td> 
     <td>Sugar Cookie Recipes</td> 
    </tr> 
    <tr class="sub" id="sub2"> 
     <td>&nbsp;</td> 
     <td>1</td> 
     <td>Filled Cookies</td> 
    </tr> 
    <tr class="sub evenRow" id="sub2"> 
     <td>&nbsp;</td> 
     <td>1</td> 
     <td>Sugared Black Raspberry Tea Cookiess</td> 
    </tr> 

    <tr class="leadRow" rel="sub3"> 
     <td class="expandSub"><a href="" rel="sub3">+</a></td> 
     <td>3</td> 
     <td>Appetizers</td> 
    </tr> 
    <tr class="sub" id="sub3"> 
     <td>&nbsp;</td> 
     <td>1</td> 
     <td>Hummus Recipes</td> 
    </tr> 
    <tr class="sub evenRow" id="sub3"> 
     <td>&nbsp;</td> 
     <td>1</td> 
     <td>Cheese Balls</td> 
    </tr> 
</table> 

回答

1

如果我不得不猜测,我会说这是因为你的HTML无效。在HTML中,您的ID必须是绝对唯一的。

您重复您的ID(即id="sub1"),这是无效的。可能IE7对此并不高兴。说实话,任何浏览器的作品都让我感到惊讶。

贴上你的HTML到W3C的验证服务,看到所有的错误:

http://validator.w3.org/