Skip to content

Commit

Permalink
IE9's support for SVG elements unfortunately does not extend to clear…
Browse files Browse the repository at this point in the history
…Attributes. Checks for its presence before proceeding.
  • Loading branch information
timmywil committed Apr 14, 2011
1 parent 149a040 commit ca5bc20
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
8 changes: 6 additions & 2 deletions src/manipulation.js
Expand Up @@ -388,11 +388,15 @@ function cloneFixAttributes( src, dest ) {

// clearAttributes removes the attributes, which we don't want,
// but also removes the attachEvent events, which we *do* want
dest.clearAttributes();
if ( dest.clearAttributes ) {
dest.clearAttributes();
}

// mergeAttributes, in contrast, only merges back on the
// original attributes, not the events
dest.mergeAttributes(src);
if ( dest.mergeAttributes ) {
dest.mergeAttributes( src );
}

// IE6-8 fail to clone children inside object elements that use
// the proprietary classid attribute value (rather than the type
Expand Down
2 changes: 1 addition & 1 deletion test/unit/attributes.js
Expand Up @@ -285,7 +285,7 @@ test("attr(String, Object)", function() {
equals( "button", button.attr("type"), "Verify that you can't change the type of a button element" );

// Setting attributes on svg elements (bug #3116)
var $svg = jQuery("<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' baseProfile='full' width='3000' height='3000'>"
var $svg = jQuery("<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' baseProfile='full' width='200' height='200'>"
+ "<circle cx='200' cy='200' r='150' />"
+ "</svg>").appendTo("body");
equals( $svg.attr("cx", 100).attr("cx"), "100", "Set attribute on svg element" );
Expand Down

0 comments on commit ca5bc20

Please sign in to comment.