jQuery .toggle () не работает с TR в IE - PullRequest
25 голосов
/ 10 июня 2009

Я использую jQuery toggle (), чтобы показать / скрыть строки таблицы. Он отлично работает в FireFox, но не работает в IE 8.

.show() / .hide() работает нормально, хотя.

slideToggle () также не работает в IE - он показывает на долю секунды, а затем снова исчезает. Прекрасно работает в FireFox.

Мой HTML выглядит примерно так

<a id="readOnlyRowsToggle">Click</a>  
<table>  
  <tr><td>row</td></tr>  
  <tr><td>row</td></tr>  
  <tr class="readOnlyRow"><td>row</td></tr>  
  <tr class="readOnlyRow"><td>row</td></tr>  
  <tr class="readOnlyRow"><td>row</td></tr>  
</table>

JavaScript

$(document).ready(function() {  
    $(".readOnlyRow").hide();  
    $("#readOnlyRowsToggle").click(function() {  
        $(".readOnlyRow").toggle();  
    });  
});  

Ответы [ 13 ]

0 голосов
/ 03 июня 2013

Я заметил, что переключение может не работать на iphone, если вы включаете JQuery Mobile. Если вы запускаете toggle (.ready) до загрузки jquery mobile, тогда все в порядке.

0 голосов
/ 10 июня 2009

Я тоже это заметил. Скорее всего, вам придется переключать класс на каждом тд вместо. Еще не пробовали это решение, поэтому дайте мне знать!

Для других - это специфично для IE8, а не 6 или 7.

EDIT

Очевидно, вы не пробовали это, о чем свидетельствует -1, как я только что сделал с хорошими результатами (в моей ситуации).

CSS

tr.hideme td {display: none}

JS

$("#view-advanced").click(function() {
    $("tr.hideme td").toggle();
    return false;
});
0 голосов
/ 10 июня 2009

, поскольку вы заставляете их щелкнуть <a>, вам нужна функция для возврата false.

...