Le morceau de jQuery suivant est utilisé sur une page qui a un message en haut, et tous les commentaires qui répondent au message ci-dessous. La façon dont le code fonctionne sur IE8/Chrome/Firefox est "effondre" tous les commentaires ci-dessous le message initial, donc seulement leurs sujets apparaissent. En cliquant sur leurs sujets, le message initial est substitué au commentaire (c'est-à-dire qu'il "simule" l'action d'avoir chaque commentaire sur sa propre page).IE6 n'aime pas mon simple jQuery: Une idée pourquoi?
Le problème est IE6 refuse de travailler avec le code; lorsque les visiteurs IE6 atterrissent sur la page, tous les commentaires refusent de s'effondrer, et cliquer sur les titres ne fait rien.
Quelqu'un at-il une idée de la façon de corriger ce problème pour rendre le JS IE6 compatible?
function flip(comment) {
$('#first-post').replaceWith(comment.closest(".comment").clone().attr('id','first-post'));
$('#first-post').children('.forumthreadtitle').children('.comment-info').empty();
$('#first-post').find(':hidden').fadeIn('slow');
$('html, body').animate({scrollTop:0}, 'fast');
return false;
}
$(document).ready(
function(){
$('.submitted').each(function() {
$(this).clone().addClass('comment-info').appendTo($(this).siblings('.forumthreadtitle'));
if(!$(this).parent('#first-post').html()) {
$('#first-post').children('span.taxonomy').clone().appendTo($(this));
}
});
$('.display_mode').html('Show All Replies');
expandedMode = false;
$('.display_mode').click(function() {
if (expandedMode == false ) {
$('.forumthreadtitle').siblings().show();
$(this).html('Collapse Replies');
expandedMode = true;
}
else
{
$('.forumthreadtitle').siblings().hide();
$(this).html('Show All Replies');
expandedMode = false;
}
});
$('.forumthreadtitle').siblings().hide();
if(window.location.hash) {
flip($(window.location.hash).next().children('.forumthreadtitle').show());
}
$('.forumthreadtitle').click(function() {
pageTracker._trackPageview("/comment?page=" + document.location.pathname);
flip($(this));
});
});
Voici quelques exemples HTML (ai essayé de simplifier un peu pour le rendre plus facile à comprendre):
<DIV id="first-post">
<H2 class="title"><A href="test.html">TEST</A></H2>
<SPAN class="submitted">Submitted by Big J on July 26, 2010 - 3:26pm</SPAN>
<DIV class="content">First Post</DIV>
</DIV>
<DIV id="comments">
<A id="comment-1643951"></A>
<DIV class="comment comment-published clear-block">
<H3 class="forumthreadtitle"><A href="test.html#comment-1643951" class="active">Test Reply....</A>
<DIV class="submitted comment-info">Submitted by test on July 26, 2010 - 4:49pm.</DIV>
</H3>
<DIV class="content" style="display: none; ">
Test Comment Content
</DIV>
</DIV>
</DIV>
Avez-vous essayé de regarder ici: http://stackoverflow.com/questions/463800/jquery-document-ready-failing-in-ie6? – nandokakimoto
J'ai - J'ai changé $ (document) à jQuery sans aucune chance - merci pour la suggestion –