【问题标题】:Handling period in javascript variable [duplicate]javascript变量中的处理期[重复]
【发布时间】:2016-06-18 20:55:16
【问题描述】:

我正在研究必须使用 JS 突出显示客户选择的内容的功能,但是变量本身包含句点作为它的一部分。 我在 HTML 和 JS 中有以下代码

HTML

<div id="div_product-size-icon-50174TV07.0" class="coin ">
   <div class="size"> 7</div>
</div>

JS

console.log('#'+'div_product-size-icon-'+productCode );
$('#'+'div_product-size-icon-'+productCode).addClass('active');

其中productCode50174TV07.0。如果产品代码不包含.,则此代码可以正常工作,但是如果产品代码包含.,我的代码将无法正常工作。

我无法更改产品代码,因为这是预定义的,所以留给我的唯一选择是修改我的 JS 代码来处理这个问题。

除了在我的 HTML 中将 . 更改为 _ 并使用它之外,还有其他方法吗? 我的另一个最大限制是关于 HTML,因为它不是由我直接控制的,这让我的选择非常有限。

【问题讨论】:

  • 我认为dgvid 有答案。 “您可以在 CSS 中选择该元素为 #first\.name,在 jQuery 中选择如下:$('#first\\.name')。”

标签: javascript jquery html


【解决方案1】:

您必须根据jQuery selector docs 使用\\ 转义特殊字符

试试:

productCode = productCode.replace('.','\\.');
$('#'+'div_product-size-icon-'+productCode).addClass('active');

【讨论】:

    猜你喜欢
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多