wykorzystać podwójne ukośniki:
jQuery("#someform\\:somepanel\\:somebutton")
pokrewne:
Aktualizacja # 1
Po komentarz w odniesieniu do auto ucieczki najlepszą metodę widzę jest stworzenie funkcji w obiekcie String tak jak
String.prototype.escape = function()
{
return this.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/])/g,'\\$1')
}
można również w szczególności zdefiniować functi na za dwukropkiem tak:
String.prototype.escape_colon = function()
{
return this.replace(/:/,'\\$1')
}
i używać tak:
jQuery("someform:somepanel:somebutton".escape())
ale będzie to powodować problemy na selektorów pseudo takich jak:
jQuery("someform:somepanel:somebutton:first".escape())
selektor :first
będzie uciekł i dlatego nie znajdziesz swojego elementu.
ale y nasze najlepiej będzie zbudować parser ciąg w prototypu do zastąpienia, jeśli stwierdzi, określonego zestawu znaków takich jak:
jQuery("someform(_e(:))somepanel(_e(:))somebutton:first".escape())
W ten sposób można określić, co chcesz uciec, ale gdyby tak było, równie dobrze możesz uciec przed nimi samemu.
http://api.jquery.com/category/selectors/ - Trzecia linia – jAndy
@jNie jest tam, czy możesz zacytować odpowiedź? – IAdapter