Bug Tracker

Opened 6 years ago

Closed 5 years ago

#9795 closed bug (fixed)

IE7,8 Has Attribute Selector for Colspan in TD and TH Tags

Reported by: adamterlson Owned by: mikesherov
Priority: low Milestone: 1.8
Component: attributes Version: 1.6.2
Keywords: ie7 ie8 Cc:
Blocked by: Blocking:

Description

In all versions of jQuery, including the latest (1.6.2), in both IE7 and IE8, a has-attribute selector will return false positives for all TH tags when testing for the colspan attribute.

Tested on Windows 7.

I submit this hoping something can be done about this, despite its roots likely being in the [flawed] browsers themselves.

Example HTML:

<table id="one"><tr><th>fred</th></tr></table>
<table id="two"><tr><td>fred</td></tr></table>

Example JS:

alert($('#one').find('th[colspan!=""]').length); //Returns 1
alert($('#one').find('th[colspan]').length); //Returns 1

alert($('#two').find('td[colspan!=""]').length); //Returns 1
alert($('#two').find('td[colspan]').length); //Returns 1

$('#one').find('th').each(function() {
    alert('colspan:' + $(this).attr('colspan')); //Returns 1 in IE7,8 and "undefined" otherwise
});

http://jsfiddle.net/GHXBH/6/

Clearly, given this code sample, this attribute should return 0 in IE7 and 8, as it does with IE9, FireFox, and Chrome.

In the last loop, you will see that I output the attribute of the colspan for the TH in the table. In IE7 and 8, a "1" is returned, meaning a colspan of "1". In IE9, and all non-IE browsers, "undefined" is the result as expected.

Thank you, and my apologies if this has been reported (I, however, could not find a duplicate).

Change History (5)

comment:1 Changed 6 years ago by timmywil

Component: unfiledattributes
Priority: undecidedlow
Status: newopen

Confirmed. Issue is in both attributes and selector modules.

Without alerts: http://jsfiddle.net/timmywil/GHXBH/7/

comment:2 Changed 6 years ago by dmethvin

Keywords: ie7 ie8 added

comment:3 Changed 5 years ago by mikesherov

Milestone: 1.next1.8
Owner: set to mikesherov
Status: openassigned

This was fixed in the Sizzle rewrite in 1.8. timmywil, do you have a test case covering this situation? If so, let me know so we can close this, otherwise, I can write a test for this.

comment:4 Changed 5 years ago by timmywil

We don't have tests for colspan specifically, but we do now have tests in Sizzle covering empty string values and in jQuery's selector tests covering attribute presence. I'm always happy to add more tests though.

comment:5 Changed 5 years ago by mikesherov

Resolution: fixed
Status: assignedclosed

If you already have equivalent tests here timmywil, I'm just closing this as fixed then.

Note: See TracTickets for help on using tickets.