idのescape

jQuery mobileを使っていると、ページ遷移後のdivにはidが自動的に振られる。

<a href="/sample/next.do?init=true&param=x">次へ</a>

こんなURLだと、idはそのまんまで

<div data-role="page" id="/sample/next.do?init=true&param=x">

になります。
とある事情から、このdivを取得して操作する必要が出たので、このように書きました。

var page = $('#/sample/next.do?init=true&param=x');

すると、正しく動きませんでした。
どうやらjQueryのidセレクトするには記号が含まれるとダメのようです。
で、「/」や「.」「?」「=」「&」なんかをエスケープしてやるとうまくいきました。

function escape(str) {
  return str.replace(/\/|\?|\=|\&|\./g, function(val){
    return '\\' + val;
  });
}

$('#' + escape('/sample/next.do?init=true&param=x'));

でも、もっと楽チンな方法があると思うんだなー。
教えて欲しいです!