使用包含冒号':'的变量作为选择器
问题描述:
我有一个我想用作选择器的jQuery变量。该变量包含冒号':',如下面的示例所示。使用包含冒号':'的变量作为选择器
var testVariable = text1:text2:4882746225
用作ID的DIV元件的和我不能去除冒号变量ID。父div中还有另一个div元素。在下面你可以看到它的外观。
<div id="text1:text2:4882746225">
<div class="inner">
Sample content
</div>
</div>
我想要做的是选择内部div元素,它具有类内,通过父div的ID。我尝试了以下,但它没有奏效。
$('#'+testVariable+' .inner')
还有其他人遇到过类似的问题吗?如果是这样,解决方案是什么?我在这里做错了什么?
在此先感谢。
答
您需要使用双反斜杠\\
来转义那些特殊字符。
var testVariable = "text1\\:text2\\:4882746225";
更新(在响应评论):
但是你可以在某些时候正确的访问呢?那么我们就必须努力工作一下,然后只要我们需要就可以打鸭子了。像
var newSelector = $('div').attr('id').replace(/:/g, '\\\\:');
,然后用newSelector
选择
$(newSelector);
看看这里详细信息http://stackoverflow.com/a/11862160/533426 – Toskan 2012-08-08 10:05:39