jQuery特殊字符导致问题

时间:2013-07-17 15:37:03

标签: jquery special-characters

我有一个简单的脚本,正在寻找标题匹配时执行函数的标题。我遇到了版权和注册商标等特殊字符的问题。

var isDisclosure = $('.disclosure-container h3').html();

if ( isDisclosure == "Awesome Product<sup>&#174;</sup> Disclosures" ) {
        alert('zomg');
    }

html在firebug中看起来像这样:

<h3 class="inline">
    Awesome Product
    <sup>®</sup>
    Disclosures
</h3>

在查看源代码时,html看起来像这样......

<h3 class="inline">Awesome Product<sup>&#174;</sup> Disclosures</h3>

因此,当我将该html添加到if语句时,我会得到一个额外的额外字符,但它不起作用......就像这样......

if ( isDisclosure == "Awesome Product<sup>©</sup> Disclosures" )

我非常乐意在最后搜索带有通配符的“Awesome Product”。

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式测试进行部分匹配

if(/Awesome\sProduct<sup>.+</sup>\sDisclosures/i.test(isDisclosure))

或索引

if(isDisclosure.indexOf("Awesome Product") >= 0)

或者您可以从隐藏的div中引用html。

<div id="refs" style="display:none;">
<h3 id="awesome">
    Awesome Product
    <sup>®</sup>
    Disclosures
</h3>
</div>

if(isDisclosure == $("#refs #awesome").html())