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
。
尝试编写一个简单的 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
。