footnote:id, colons and jquery

Michel Fortin michel.fortin at
Wed Jan 23 20:12:08 EST 2013

Le 23-janv.-2013 à 14:29, Waylan Limberg <waylan at> a écrit :

> I just received a [bug report] for Python-Markdown complaining that

> colons are used in the ids of footnotes. For reference, we [output]

> the same format at PHP Markdown Extra. The general complaint is that

> the colon in the id attribute (`id="fnref:1"`) causes jquery to choke

> when referencing that id from javascript because jquery uses colons to

> indicate pseudo elements (as does CSS). As expected, jquery supports

> escaping the colon - which eliminates the problem - except that

> apparently the escaping causes a performance hit.


> My initial reaction is to say that this is jquery's problem, but what

> do you think? Should the various implementations that support

> footnotes all change to not use colons? I couldn't help but note that

> Gruber's unreleased implementation (what he uses on

> appears to use dashes instead.


> Any thoughts?

Interestingly, I've been looking at updating the output for footnotes in PHP Markdown, although not the id attribute.

My guess is that Jquery has an optimization for the common pattern "#nocolon" and that putting an escape forces it to take the slow path. Take his example and add a class name (making the selector "#nocolon.anyclass"), or put an ancestor (as in "body #nocolon") and you'll get equal speed everywhere.

Michel Fortin
michel.fortin at

More information about the Markdown-Discuss mailing list