diff options
author | Richard Gibson <richard.gibson@gmail.com> | 2015-04-10 15:57:18 -0400 |
---|---|---|
committer | Richard Gibson <richard.gibson@gmail.com> | 2015-04-30 13:15:33 -0400 |
commit | 225bde37c997f5ddd9fe00fdfb8e9a43545cfbbc (patch) | |
tree | 9b22e5b81a3933d9bf2796498d8f9e9b8996ce4f /src | |
parent | 4b27ae16a2b911f75b341b56d9d939bc65a9657a (diff) | |
download | jquery-225bde37c997f5ddd9fe00fdfb8e9a43545cfbbc.tar.gz jquery-225bde37c997f5ddd9fe00fdfb8e9a43545cfbbc.zip |
Manipulation: Make an HTML interception point
Fixes gh-1747
Closes gh-2203
Diffstat (limited to 'src')
-rw-r--r-- | src/manipulation.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/manipulation.js b/src/manipulation.js index 160b9ec79..d085755a3 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -159,6 +159,10 @@ function fixInput( src, dest ) { } jQuery.extend({ + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + clone: function( elem, dataAndEvents, deepDataAndEvents ) { var i, l, srcElements, destElements, clone = elem.cloneNode( true ), @@ -230,7 +234,7 @@ jQuery.extend({ // Deserialize a standard representation tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[ 2 ]; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; // Descend through wrappers to the right content j = wrap[ 0 ]; @@ -422,7 +426,7 @@ jQuery.fn.extend({ if ( typeof value === "string" && !rnoInnerhtml.test( value ) && !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - value = value.replace( rxhtmlTag, "<$1></$2>" ); + value = jQuery.htmlPrefilter( value ); try { for ( ; i < l; i++ ) { |