JQuery 脚本在 Firefox 上有效,但在 Chrome 中抛出 "undefined is not a function"

JQuery script works on Firefox but throws "undefined is not a function" in Chrome

尝试编写一个简单的 if 语句,如果为真则提示 yes,如果不为真则提示 no。它在 Firefox 中工作,但在 Chrome.

中不工作
<ul class="sidea" role="tablist">
    <a href="scripts/featured.php" aria-controls="home" role="tab" data-toggle="tab" class="ajax-link" id="defaultclick">
        <li role="presentation" class="col-sm-4 col-xs-4 categoryb1">
            <div class="categoryb arrow_box">Featured</div>
        </li>
    </a>
</ul>

JQuery:

if (($('a.ajax-link').html()).contains('Featured1')){
  alert("yes");
}
else {
  alert("no");
}

elem.contains(elem) 查找一个元素是否包含另一个 DOM 元素。
它不检查字符串是否包含字符串。

为此,请改用 string.indexOf(string)。如果大于或等于 0,则表示搜索字符串在 haystack 中。请注意,这是区分大小写的,因此您可能希望先将两者都设为小写。

示例:

if ( ($('a.ajax-link').html()).indexOf('Featured1') >= 0 ){

奖金有用提示:

您应该改为将调试消息记录到控制台,您可以通过这种方式探索数组和对象,并且不会暂停 JS 主线程。

console.log($('a.ajax-link').html());

contains() 似乎是 Firefox 的特性。我找不到它的任何文档。

改用indexOf() > -1