Javascript hang op .length
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
function viewCommentHistory(id) {
alert($("div#view-comment-history-" + id).length == 1);
if ($("div#view-comment-history-" + id).length == 1) {
$("div[id^=view-comment-history-").hide();
$("#container").prepend("<div id=\"view-comment-history-" + id + "\" class=\"comment-view-history pop-up-window\"><!-- --></div>");
$("div#view-comment-history-" + id).load("/comment/getHistory/id/" + id, function () { $(this).css("background", "white"); });
} else {
$("div[id^=view-comment-history-").hide();
$("div#view-comment-history-" + id).show();
}
}
alert($("div#view-comment-history-" + id).length == 1);
if ($("div#view-comment-history-" + id).length == 1) {
$("div[id^=view-comment-history-").hide();
$("#container").prepend("<div id=\"view-comment-history-" + id + "\" class=\"comment-view-history pop-up-window\"><!-- --></div>");
$("div#view-comment-history-" + id).load("/comment/getHistory/id/" + id, function () { $(this).css("background", "white"); });
} else {
$("div[id^=view-comment-history-").hide();
$("div#view-comment-history-" + id).show();
}
}
Op één of andere manier krijg ik eerst een alert met true. Dan blijft ie bij de if hangen. Ik snap niet hoe dit kan. Zonder de if gaat alles perfect, alleen dat statement alerten gaat ook perfect, maar in die combinatie is gewoon onmogelijk. Ik gebruik jQuery.
Ik heb ondertussen de oorzaak van de hang achterhaald, dit kwam omdat ik te lange namen gebruikte voor de classes en jQuery dat niet meer aan kan. Hierdoor ging FF hangen. Nu is dit opgelost, iig bedankt Niek.
Voor mensen die ook dit probleem hebben en hier komen via Google: gebruik kortere namen voor je classes.
Voor mensen die ook dit probleem hebben en hier komen via Google: gebruik kortere namen voor je classes.
Waarom zou je überhaupt lange namen gebruiken voor je classes? Dat is toch sowieso niet te doen?




