繁体   English   中英

jQuery脚本可在Firefox上运行,但在Chrome中抛出“未定义不是函数”

[英]JQuery script works on Firefox but throws “undefined is not a function” in Chrome

尝试编写一个简单的if语句,如果为true则警告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,则表示搜索字符串在干草堆中。 请注意,这是区分大小写的,因此您可能要先将两者都小写。

例:

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

奖励有用提示:

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

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

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

请改用indexOf() > -1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM