I\'m working on a pre-written module for a site, and I need to target an element with the id test:two
. Now, this element has a colon in it, so jQuery is presuma
From the jQuery ID Selector docs:
If the id contains characters like periods or colons you have to escape those characters with backslashes.
Because the backslash itself need to be escaped in the string, you'll need to do this:
$("#test\\:two")
$('#test').css('background','red');
$(document.getElementById('test:two')).css('background','blue');
$('#test\\:two').css('background','green');
test
test two
You now also have the option of using the built-in CSS.escape(...)
function, which takes care of any characters that could have special meaning inside of a selector expression.
$("#" + CSS.escape("test:two"))
$('#test').css('background','red');
$(document.getElementById('test:two')).css('background','blue');
$("#" + CSS.escape("test:two")).css('background','green');
test
test two