我有一个jQuery变量,我想用它作为选择器。变量包含冒号':',如下例所示。
var testVariable = text1:text2:4882746225
变量id用作 div 元素的 id ,我无法删除冒号。父div中还有另一个 div 元素。下面你可以看到它的外观。
<div id="text1:text2:4882746225">
<div class="inner">
Sample content
</div>
</div>
我想要做的是通过父div的id选择内部div元素,它具有类 inner 。我尝试了以下但是没有用。
$('#'+testVariable+' .inner')
还有其他人遇到过类似的问题吗?如果是这样,解决方案是什么?我在这里做错了什么?
提前致谢。
答案 0 :(得分:2)
您需要使用双反斜杠\\
来转义这些特殊字符。
var testVariable = "text1\\:text2\\:4882746225";
更新(回应评论):
但你可以在某个时候访问它吗?那么我们必须更努力地工作,并在我们需要的时候打鸭子。像
var newSelector = $('div').attr('id').replace(/:/g, '\\\\:');
然后使用newSelector
选择
$(newSelector);