使用包含冒号、':,' 的变量作为选择器

Posted

技术标签:

【中文标题】使用包含冒号、\':,\' 的变量作为选择器【英文标题】:Using variable containing colon, ':,' as a selector使用包含冒号、':,' 的变量作为选择器 【发布时间】:2012-04-06 23:28:50 【问题描述】:

我有一个想要用作选择器的 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 选择具有类 inner 的内部 div 元素。我尝试了以下方法,但没有成功。

$('#'+testVariable+' .inner')

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

提前致谢。

【问题讨论】:

在这里查看详细信息***.com/a/11862160/533426 【参考方案1】:

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

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

更新(回应评论):

但是您可以在某个时候访问它,对吧?那么我们必须更加努力地工作,只要我们需要就可以打鸭子。喜欢

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

然后使用newSelector进行选择

$(newSelector);

【讨论】:

嘿 jAndy,我忘了声明我不允许编辑变量。必须按原样使用它。刚刚编辑了问题。

以上是关于使用包含冒号、':,' 的变量作为选择器的主要内容,如果未能解决你的问题,请参考以下文章

关于伪类选择器中一个冒号和两个冒号的区别

Jquery 选择器

使用变量作为 jQuery 选择器

jQuery:使用变量作为选择器[重复]

包含引号的jquery属性选择器变量?

12.伪类选择器与伪元素的应用