在运算符中更正两个或更多字符串的javascript语法

时间:2013-09-12 00:52:12

标签: javascript jquery

我写了这段代码,但我的语法不正确。我尝试了几种方法。下面的第一个似乎应该可以工作,但我还没到那里。在比较多个字符串

时,请指出正确的语法
$(document).ready(function() {
var url = window.location.pathname.substring(1);
if ( [ 'page_id=11', 'page_id=19'].indexOf( url ) > -1 ) { 
$('#main').css("background-color","#ebecee"); 
}
});

我也试过这个

$(document).ready(function() {
var url = window.location.pathname.substring(1);
if(url.href.indexOf("page_id=11") > -1 && ("page_id=19") > -1 ) {
$('#main').css("background-color","#ebecee");
}
});

写它的正确方法是什么?

4 个答案:

答案 0 :(得分:1)

“在黑暗中拍摄”

部分问题可能是您正在查看window.location.pathname,在大多数情况下page_id=19之类的内容不属于路径名 - 它属于查询

请查看window.location.search,然后检查 查询参数,或者按照其他人的建议,查看window.location.hrefdocument.URL查看整个位置

var query = window.location.search;
if (query.indexOf("page_id=11") > -1 || query.indexOf("page_id=19) > -1) {
    // do your stuff
}

答案 1 :(得分:0)

如果您要检查网页的网址中是否有page_id=11page_id=19,这应该有效:

$(document).ready(function() {
    if(document.URL.indexOf("page_id=11") > -1 || document.URL.href.indexOf("page_id=19") > -1 ) {
        $('#main').css("background-color","#ebecee");
    }
});

答案 2 :(得分:0)

var url = location.href;
if(url.indexOf("page_id=11") > -1 || url.indexOf("page_id=19") > -1 ) {
    $('#main').css("background-color","#ebecee");
}

答案 3 :(得分:0)

您可以使用localeCompare()方法。

此方法返回一个数字,指示引用字符串是在排序顺序之前还是之后出现,或者与排序顺序中的给定字符串相同。

语法:

string.localeCompare( param )

返回值:

  • 0:字符串匹配100%。

  • 1:不匹配,参数值位于区域设置排序顺序中字符串对象的值之前

  • -1:不匹配,参数值位于区域设置排序顺序中字符串对象的值之后

你的案子

var index1 = location.href.localeCompare( "page_id=11" );
var index2 = location.href.localeCompare( "page_id=19" );

More