aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortimmywil <tim.willison@thisismedium.com>2011-04-13 23:45:58 -0400
committertimmywil <tim.willison@thisismedium.com>2011-04-13 23:45:58 -0400
commitca5bc202ac37a8e3d5787b24ea3fdc229143802c (patch)
tree2b380ff4ea689a65e9e98ea8aa00d41ff3bfaead
parent149a040794b3b52bc392281fab68aba40c7018ce (diff)
downloadjquery-ca5bc202ac37a8e3d5787b24ea3fdc229143802c.tar.gz
jquery-ca5bc202ac37a8e3d5787b24ea3fdc229143802c.zip
IE9's support for SVG elements unfortunately does not extend to clearAttributes. Checks for its presence before proceeding.
-rw-r--r--src/manipulation.js8
-rw-r--r--test/unit/attributes.js2
2 files changed, 7 insertions, 3 deletions
diff --git a/src/manipulation.js b/src/manipulation.js
index 711cb5e88..f519b4d35 100644
--- a/src/manipulation.js
+++ b/src/manipulation.js
@@ -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
diff --git a/test/unit/attributes.js b/test/unit/attributes.js
index 2bcc5046e..87fa5625f 100644
--- a/test/unit/attributes.js
+++ b/test/unit/attributes.js
@@ -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" );