Best I can tell, there is an error in the javascript where the points are replaced: here's what happens:
var pid = 'vote_points_' + cid;
...
$('#' + pid).html(data);
What this bit of code does is actually *nest* the returned HTML data within the current <span> with an id of vote_points_$cid . The returned HTML also has a span with an id of vote_points_$cid, so you end up getting:
<span id="vote_points_$cid"><span id="vote_points_$cid">...html...</span></span>
In my case, where I've switched the <span> for a <table>, IE doesn't like this at all, which shouldn't come as a surprise, as it's getting handed
<table id="vote_points_$cid"><table id="vote_points_$cid">.... </table></table>,
which is certainly bad html.
Fortunately, in my case, this element is an only child of the parent, so switching
$('#' + pid).html(data);
to
$('#' + pid).parent().html(data);
makes everything work. This obviously will have a negative effect on anyone who has a point box that shares a parent element with other data. I double-checked against the original code (as we're using a slightly modified version), and it looks like this issue isn't something we introduced.
Comments
Comment #1
kylebrowning commentedIm assuming in your vote_up_down.module you have something along the lines of
if ($vote_result) {
$output = array(
'title' => '
',
'html' => TRUE
);
}
If a easy fix to solve your specific problem would be to use .parent(). Not knowing much about this project, I would think thats an ok solution. However if you want to post a patch that would allow people to use other parent elements, wrap the theme_vote_up_down_points in a span with a class="uniqueclassid" and then in your jquery
$('#' + pid).parent('.uniqueclassid).html(data);
That should allow for the community to solve this problem for IE, and allow parent elements to work.
If wanted, I can write this into a patch
Comment #2
marvil07 commentedPlease take a look to the update on the project page, now
5.xis not-really-maintained.