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

4,980 thoughts on “Highlight text using jQuery and the HTML5 mark tag

  1. united kingdom online casino greyhound tips (Stacey) real money pokies way, winner slots uk
    and online gambling poker australia, or free online pokies no
    download united kingdom

  2. Pingback: cell phone tower leases

  3. Pingback: interventional pain treatment

  4. real money casino usa online, best online live aria casino
    host – Elvia, united states and best australia online casinos, or are poker machines legal in western canada

  5. 200 free spins no deposit usa casinos, united states casino online and online casino games online to
    win real money [Christie] canada no deposit sign up bonus,
    or canada online slots

  6. Pingback: interventional pain

  7. Pingback: shin pain relief

  8. how do poker machines work in australia, australian currency poker chips and legal age for gambling no trump in bridge (Helaine) in united states, or most legit online casino united states

  9. Pingback: cell site lease buyout

  10. I do not even know how I ended up here, but I thought this post was good.
    I don’t know who you are but certainly you’re going to a famous blogger
    if you are not already ;) Cheers!

    Check out my web-site :: web page

  11. Pingback: back ache relief

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>