1

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

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" )

我非常愿意在结尾处搜索带有通配符或其他内容的“真棒产品”。

4

1 回答 1

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())
于 2013-07-17T15:43:58.033 回答