0

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

$(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

4 回答 4

1

“盲目猜测”

部分问题可能是您正在查看,window.location.pathname并且在大多数情况下,类似的东西page_id=19不是路径名的一部分——它是查询的一部分。

window.location.search而是查看以仅检查查询参数window.location.href,或者像其他人建议的那样,通过检查或查看整个位置document.URL

var query = window.location.search;
if (query.indexOf("page_id=11") > -1 || query.indexOf("page_id=19) > -1) {
    // do your stuff
}
于 2013-09-12T01:03:27.087 回答
0

If you're trying to check if either page_id=11 or page_id=19 is in your page's URL, this should work:

$(document).ready(function() {
    if(document.URL.indexOf("page_id=11") > -1 || document.URL.href.indexOf("page_id=19") > -1 ) {
        $('#main').css("background-color","#ebecee");
    }
});
于 2013-09-12T00:54:54.250 回答
0
var url = location.href;
if(url.indexOf("page_id=11") > -1 || url.indexOf("page_id=19") > -1 ) {
    $('#main').css("background-color","#ebecee");
}
于 2013-09-12T00:55:16.627 回答
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" );

更多的

于 2013-09-12T01:03:34.147 回答