私はこのようなHTMLを持っています(うん、それは少し奇妙ですが、それは既存のプロジェクトです):
<table>
<tr id="21.30---22.00">
<td class='51'>Text</td>
</tr>
</table>
そしてこのようないくつかのJS:
$(document).ready(function(){
var time = "21.30---22.00";
// jQuery needs . to be escaped to \\.
// Regex needs \ to be escaped as \\.
// JS needs \ to be escaped as \\.
time = time.replace(/\./g,'\\\\\\.');
$("tr#" + time + " td.51").css("color","blue");
});
実際には、時間文字列はJSONから生成されるため、奇妙な方法です。
これは以前のバージョンのjQueryで機能しましたが、1.8では機能しません。おそらくSizzleの変更が原因です。これが機能しない例です。
jQuery 1.7.2: http: //jsfiddle.net/VnA4m/
jQuery 1.8: http: //jsfiddle.net/VnA4m/1/
time = "21.30---22.00"
1.8で動作するセレクターに移動する方法についてのアイデアはありますか?