Here’s a jQuery plugin I wrote that’ll add HTML5 <mark> tags around keywords or phrases in an element’s body text.
What is mark?
a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context
http://www.whatwg.org/specs/web-apps/
Usage
Add the script to your page, and then when the DOM is ready, do something like:
$('body').mark('Lorem ipsum');
The plugin can actually be used to wrap any tag around keywords. Simply pass the tag name you want to use as an option:
$('body').mark({
text: 'Lorem ipsum',
tag: 'span',
cssClass: 'mark'
});
The above example will wrap span elements around the words lorem and ipsum. Each span element will have the class ‘mark’. View an example implementation.
TODO
- Input sanitation on the text to be marked. Currently the text is dumped straight into a regular expression. It needs to be escaped so that any regular expression meta-characters are interpreted as literals.
- Similarly, HTML special characters in the input need to be expanded into their HTML entities.
- From what I can see, IE doesn’t like <mark> tags, and seems to automatically self close the opening and closing tags inserted into the DOM. WTF? Can anyone shed any light on this problem? For now, you’re going to have to use a <span> with a CSS class
If you’re interested in contributing, get in touch
Find the the top basic cpr currently now available and at reasonable prices now only!
Hire the the top roofing estimates that is now available in addition at reasonable prices now only!
Hire a top roofing estimates currently now available and on sale now only!
Find the the top bls certification near me that’s now available in addition on sale now only!
Hire the best roofing contractor philadelphia currently now available in addition at reasonable prices now only!
Find a top bls life support certification that’s now available and at reasonable prices now only!
Find the the top residential roofing services currently now available and at reasonable prices now only!