Tidak Ada Deskripsi

Herbert Vojčík 38d0a80571 bump version to 0.1.1 11 tahun lalu
.gitignore 0d803775eb Added bower manifest 11 tahun lalu
LICENSE dbb6b24742 Added manifest, link to original code in LICENSE 11 tahun lalu
README.md 6cbe26f696 bump version to 0.1.0 11 tahun lalu
bower.json 38d0a80571 bump version to 0.1.1 11 tahun lalu
jquery.xontent.js 7baa69aa86 Plugin-correct use of 'this' 11 tahun lalu
xontent.jquery.json 38d0a80571 bump version to 0.1.1 11 tahun lalu
xontent.png f26a9f2eec xontent logo 11 tahun lalu

README.md

Xontent

HTML templates - capture children or siblings into a document fragment and get it back later.

Quick use

Suppose you have this HTML:

<div id="foo">
  <span>foo</span>
  bar
  <span>baz</span>
</div>

When you call $('#foo').xontent() first time, the contents of the div is removed, inserted into DocumentFragment and this DocumentFragment is return wrapped in jQuery object.

All subsequent calls to $('#foo').xontent() will return that same DocumentFragment inside a jQuery object.

<template> tag

This look like HTML5 template tag - it was in fact started from Brain Blakely's polyfill of <template> tag. Xontent adopts content property of working template tag; so you can use $('#mytemplate').xontent() as the polyfill - in case of <template> not yet working in your browser, it will just grab its contents and puts it into a DocumentFragment just as for any other element.

Advanced use

Beyond polyfilling template tag (and allowing its functionality to any tag), Xontent allows specifying what content should $el.xontent() grab and remember and subsequenty, return. By default, it is the contents / .content, but you can use data-xontent attribute to specify a few more options:

  • data-xontent="see selector" When you use this form, $(selector).xontent() is adopted and returned by subsequent calls;
  • data-xontent="until selector" When you use this form, all following siblings of an element until hitting selector are removed and inserted into a DocumentFragment. This is much like the jQuery nextUntil call, but it misses text nodes, while Xontent includes every single sibling. If selector is not present among the following siblings, all siblings until the end of parent element are grabbed;
  • Any other form of data-xontent uses the default (take the contents or .content in case of <template>).

Setting xontent (new in 0.1.0)

You can call $('#foo').xontent('set', payload) to set the payload which $('#foo').xontent() will return. The payload may be a DocumentFragment itself, or a jQuery object that encapsulates it.