#2604 closed bug
jQuery(html) breaks with HTML comments in Firefox 2
Reported by: | scottgonzalez | Owned by: | scottgonzalez |
---|---|---|---|
Priority: | low | Milestone: | 1.2.4 |
Component: | core | Version: | 1.2.3 |
Keywords: | html comments | Cc: | |
Blocked by: | Blocking: |
Description
var html = '<div>foo</div><!-- bar -->'; // throws an error $(html).hide(); // works fine $('<div/>').html(html).children().hide();
Attachments (1)
Change History (10)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
This seems to require checks on many places like $.filter, $.multiFilter and pretty much every DOM method. Most don't do any check, or they check for textNodes.
I'm not sure it's worthy. It's probably better to advice you to do:
$(html).filter('[nodeType=1]').hide(); or $(html).not('[nodeType=8]').hide();
I'm closing as wontfix, reopen if you have something else to say.
comment:3 Changed 14 years ago by
Resolution: | wontfix |
---|---|
Status: | closed → reopened |
There are already a few methods that specifically check for comment nodes to make sure they get skipped. I think the most relevant check is in jQuery.merge() which ensures that comment nodes don't get merged in. A similar check could be added to jQuery.clean() to make sure that comment nodes are stripped before calling jQuery.makeArray().
Changed 14 years ago by
Attachment: | clean-comments.diff added |
---|
This should fix this, but breaks 3 tests. I'll postpone this for now.. we have more critical tickets and we're close to a release.
comment:4 Changed 14 years ago by
Owner: | set to flesler |
---|---|
Status: | reopened → new |
comment:6 Changed 12 years ago by
Keywords: | html comments added |
---|---|
Owner: | changed from flesler to scott.gonzalez |
Priority: | major → low |
Status: | new → pending |
Is this still something anyone cares about?
comment:7 Changed 12 years ago by
Status: | pending → closed |
---|
Automatically closed due to 14 days of inactivity.
It appears that the html comment is being created as a node in the jQuery object as expected. But when the :visible call is made on it, the jQuery.css is failing. I'd guess a check to see if the node is not appropriate in jQuery.css() would fix this.