2012-03-22 79 views
0

我有一个我想用作选择器的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') 

还有其他人遇到过类似的问题吗?如果是这样,解决方案是什么?我在这里做错了什么?

在此先感谢。

+0

看看这里详细信息http://stackoverflow.com/a/11862160/533426 – Toskan 2012-08-08 10:05:39

回答

2

您需要使用双反斜杠\\来转义那些特殊字符。

var testVariable = "text1\\:text2\\:4882746225"; 

更新(在响应评论):

但是你可以在某些时候正确的访问呢?那么我们就必须努力工作一下,然后只要我们需要就可以打鸭子了。像

var newSelector = $('div').attr('id').replace(/:/g, '\\\\:'); 

,然后用newSelector选择

$(newSelector); 
+0

嘿jAndy,我忘了声明,我我不允许编辑变量。必须照原样使用它。刚刚编辑了这个问题。 – Metin 2012-03-22 11:56:24

+0

@Metin:更新.. – jAndy 2012-03-22 12:12:41