Firefox不会正确显示和隐藏我的表格。只显示标题按钮不按行

问题描述:

Firefox不会正确显示和隐藏我的表格。仅在按钮上显示标题按下不行。Firefox不会正确显示和隐藏我的表格。只显示标题按钮不按行

基本上我想要的是当用户点击按钮时,显示ID为“HideMe”的列标题和相同ID的行。这工作完全在Chrome,但不能在Firefox

<html> 

<head> 
    <title>Show and Hide Javascript won't work in Firefox</title> 
    <style> 
     #HideMe { 
      display:none; 
     } 
    </style> 
    <script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
    <script> 
     jQuery(document).ready(function ($) { 
      $('.ShowPassword').click(function() { 
       $(HideMe).show(); 
      }); 
     }); 
    </script> 
</head> 

<body> 
    <table> 
     <tr> 
      <th>ID Number</th> 
      <th>First Name</th> 
      <th>Middle Name</th> 
      <th id="HideMe">Password</th> 
     </tr> 
     <tr> 
      <td>2121</td> 
      <td>Mike</td> 
      <td>Daniel</td> 
      <td id="HideMe">Password</td> 
     </tr> 
     <button class="ShowPassword">Show Password</button> 
</body> 

+0

使用相同的ID使用DOM元素不是一个好习惯,您应该为此使用类。 – bandi 2013-03-08 14:52:24

+0

我试过,但仍然不会在Firefox上显示隐藏的显示按钮按 – user2148427 2013-03-08 15:03:09

这是没有办法的权利

$(HideMe).show(); 

你可能想要做的事,如:

$('#HideMe').show(); 

FIDDLE: http://jsfiddle.net/JS7tK/5/

我一开始并没有注意到,但是由于他的评论ID中的bandi音符应该是唯一的。 因此,尝试做一些事情,如:

<html> 
    <head> 
     <title>Show and Hide Javascript won't work in Firefox</title> 
     <style> 
      .HideMe { 
       display:none; 
      } 
     </style> 
     <script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
     <script> 
      jQuery(document).ready(function ($) { 
       $('.ShowPassword').click(function() { 
        $('.HideMe').show(); 
       }); 
      }); 
     </script> 
    </head> 

    <body> 
     <table> 
      <tr> 
       <th>ID Number</th> 
       <th>First Name</th> 
       <th>Middle Name</th> 
       <th class="HideMe">Password</th> 
      </tr> 
      <tr> 
       <td>2121</td> 
       <td>Mike</td> 
       <td>Daniel</td> 
       <td class="HideMe">Password</td> 
      </tr> 
      <button class="ShowPassword">Show Password</button> 
    </body> 
<html> 
+0

你的方式根本不起作用。 – user2148427 2013-03-08 14:49:56

+0

它的确如此:http://jsfiddle.net/JS7tK/ – 2013-03-08 14:52:23

+0

尝试了你的建议仍然不能在Firefox中工作,只显示按钮按下按钮。 尝试:jsfiddle.net/JS7tK 在Firefox,你会看到相同的 – user2148427 2013-03-08 15:00:33

我不这样做的jQuery,但作为一个规则,你无疑会更好把一个跨度&躲在里面它,而不是试图隐藏单元格,因为这样做这会使桌子不平衡,所以没有一些浏览器不允许它的惊喜。

+0

我使用span标签,而不是仍然不会在Firefox中工作 (只显示按钮上的列标题按静止) - 在铬中工作正常) http://jsfiddle.net/JcRCJ/1/ – user2148427 2013-03-08 14:59:42

+0

由于@bandi说,你不应该有几个相同的元素身份证,这无疑会混淆这个问题。使用类或给它们所有相同的名称,并通过'document.getElementsByName'循环。 – blankabout 2013-03-08 15:02:17