Skip to content

Instantly share code, notes, and snippets.

@AchalJ
Created March 31, 2020 12:19
Show Gist options
  • Select an option

  • Save AchalJ/99abf1b90966426d9dca34d9de9372b9 to your computer and use it in GitHub Desktop.

Select an option

Save AchalJ/99abf1b90966426d9dca34d9de9372b9 to your computer and use it in GitHub Desktop.
jQuery extension to get sub HTML of a node
jQuery.fn.getSubHtml = function( startHtml, endHtml, node ) {
var $this = jQuery(this);
var $html = $this.html();
startHtml = startHtml.replace( /<\//g, '<\\/' ).trim();
endHtml = endHtml.replace( /<\//g, '<\\/' ).trim();
var startHtmlRegEx = new RegExp( startHtml );
var endHtmlRegEx = new RegExp( endHtml );
if ( $html.search( startHtmlRegEx ) == -1 ) {
return false;
}
if ( $html.search( endHtmlRegEx ) == -1 ) {
return false;
}
var searchFrom = $html.search( startHtmlRegEx ) + startHtml.length;
var searchTo = $html.search( endHtmlRegEx );
var nodes = $html.substring( searchFrom, searchTo );
nodes = nodes.trim().replace(/(?:\r\n|\r|\n|\t)/g, '');
if ( 'undefined' !== typeof node ) {
return jQuery('<div/>').html(nodes).find(node);
}
return nodes;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment