我正在使用此代码检查网站上的语言,然后将其从我的下拉菜单中删除。该代码适用于Firefox,但无法在chrome上运行并停止所有其他脚本。 这是代码:
var mylangme = $(location).attr('href');
if(mylangme.contains("/fr/")){
mylangme="French";
$(".subnav li:first-child").css("display","none");
}
if(mylangme.contains("/nl/")){
mylangme="Dutch";
$(".subnav li:nth-of-type(2)").css("display","none");
}
if(mylangme.contains("/ru/")){
mylangme="Russian";
$(".subnav li:nth-of-type(3)").css("display","none");
}
if(mylangme.contains("/en/")){
mylangme="English";
$(".subnav li:last-child").css("display","none");
}
答案 0 :(得分:14)
@Quentin是对的,你在非jQuery对象上使用jQuery方法。您可以使用属于标准JavaScript库的indexOf
方法来修复它,因此所有浏览器都支持此方法。如果找不到字符串,indexOf
方法将返回-1
。您的代码将如下所示:
if(mylangme.indexOf("/fr/") != -1) {
mylangme="French";
$(".subnav li:first-child").css("display","none");
}
答案 1 :(得分:8)
那不是jQuery。 attr
方法返回一个String,它是核心JavaScript。
Strings的contains
method是在JavaScript 1.9中引入的,只有Firefox支持。
使用indexOf
或(上面链接的)MDN文档页面上给出的polyfill。