Highlight text using jQuery and the HTML5 mark tag

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

  1. 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.
  2. Similarly, HTML special characters in the input need to be expanded into their HTML entities.
  3. 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

2,291 thoughts on “Highlight text using jQuery and the HTML5 mark tag

  1. Pingback: bands for hire uk

  2. Hire the best best omaha seo company currently now available in addition with reasonably pricing now only!

  3. Pingback: live bands for wedding

  4. Pingback: corporate party entertainment

  5. Pingback: bands for hire uk

  6. Pingback: bands from london

  7. Pingback: wedding musicians

  8. Pingback: wedding bands for hire

  9. Pingback: live party bands

  10. Pingback: band for parties

  11. Pingback: london party bands

  12. Pingback: live band hire

  13. Pingback: wedding musicians

  14. Pingback: best party bands

  15. Pingback: Homepage

  16. Pingback: band for parties

  17. Pingback: bands to hire for parties near me

  18. Pingback: bands for hire london

  19. Pingback: phoenix digital marketing agency

  20. Pingback: phoenix seo

  21. Pingback: Homepage

  22. Pingback: phoenix marketing agencies

  23. Pingback: phoenix seo scottsdale

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>