Usage
jQuery.truncate(html, options)
> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
length: 13
});
'<p>Stuff and <i>No…</i></p>'
$el.truncate(options)
> jQuery('<p>Stuff and <i>Nonsense</i></p>').truncate({
length: 13
}).html();
'<p>Stuff and <i>No…</i></p>'
Options
Default options are stored on jQuery.truncate.defaults
.
length
Default: Infinity
The maximum length (including the ellipsis) of the truncated html.
stripTags
Default: false
If stripTags
is truthy all html tags will be stripped, leaving only the text.
> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
length: 13,
stripTags: true
});
'Stuff and No…'
words
Default: false
If words
is truthy the input will only be truncated at word boundaries.
> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
length: 13,
words: true
});
'<p>Stuff and…</p>'
keepFirstWord
Default: false
When words
and keepFirstWord
are both truthy the input will contain
at least one word beside the ellipsis even if it's longer than
a target length.
> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
length: 4,
words: true,
keepFirstWord: true
});
'<p>Stuff…</p>'
finishBlock
Default: false
When finishBlock
is true it will always truncate the content at the end of the block.
> jQuery.truncate('<p>Stuff and <i>Nonsense</i> and something else</p>', {
length: 13,
finishBlock: true,
});
'<p>Stuff and <i>Nonsense…</i></p>'
noBreaks
Default: false
If noBreaks
is truthy the input will contain no break elements.
> jQuery.truncate('<p>Stuff and<br><i>Nonsense</i></p>', {
length: 13,
noBreaks: true
});
'<p>Stuff and <i>No…</i></p>'
ellipsis
Default: '…'
The ellipsis
setting is used to provide a different character for the ellipsis.
> jQuery.truncate('<p>Stuff and <i>Nonsense</i></p>', {
length: 13,
ellipsis: '~'
});
'<p>Stuff and <i>No~</i></p>'