Advertisement
Guest User

Untitled

a guest
Jan 27th, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. // to do
  2. // accept mustache tags as html element attribute
  3.  
  4. ;(function($) {
  5. $.template = function(selector, params) {
  6. //get selector from <template>
  7. var $template = $($('template').html()),
  8. token = ['\\{\\{\\s*', '\\s*\\}\\}'],
  9. content = ($template.filter(selector).length ? $template.filter(selector) : $template.find(selector)).prop('outerHTML'); //get selector and search in children if not found
  10.  
  11. //return empty jquery object if selector does not exist
  12. if(typeof content === 'undefined') return $('');
  13.  
  14. //handle no params
  15. params = params || {};
  16.  
  17. //replace {{keys}} with values
  18. $.each(Object.keys(params), function(i, key) {
  19. content = content.replace(new RegExp(token[0] + key + token[1]), params[key]);
  20. });
  21.  
  22. //remove any unspecified {{ }}
  23. content = content.replace(new RegExp(token[0] + '.*?' + token[1], 'g'), '');
  24.  
  25. return $(content);
  26. };
  27. })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement