查找字符串是否包含特定查询字符串并返回其值

时间:2010-12-26 03:33:00

标签: javascript jquery

我有这样的分页链接设置:

http://localhost/?page=2
http://localhost/?page=3

它们作为HREF属性包装在Anchor链接中。我想知道如何检查给定ANCHOR的HREF属性是否包含查询字符串“page”区分大小写,如果它存在则返回其编号后的页面=

之后的值

请给我一个直截了当的例子,非常感谢。 :)

3 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

function getPageNumber( $obj ){
  if( $obj.filter('a[href*=page\=]').length )
    return $obj.attr('href').split('page=')[1];  
  else
    return false;
}

然后用:

<a id="foo" href="http://localhost/?page=3">Foo</a>
<a id="bar" href="http://localhost/?page=4">Bar</a>
<a id="baz" href="http://localhost/?Page=5">Baz</a> <!--- capital P --->

你会得到:

var result = getPageNumber( $('a#foo') ); // returns 3
var result = getPageNumber( $('a#bar') ); // returns 4
var result = getPageNumber( $('a#baz') ); // returns false (case sensitive)

当然,编写函数以获取普通的DOM对象,ID或其他任何你想要的东西都会很容易。

答案 1 :(得分:0)

如果您对锚点选项卡有一个指向并且您给出的格式是一致的,那么可以使用下面给出的内容来完成

var a = document.getElementById("#myanchor");
if(/[\?&]page=/.test(a.href){
    alert("parameter page present");
}

我们在[{3}} javascript

的帮助下寻找参数page

答案 2 :(得分:0)

$("a").each(function() {
    var href = this.attr("href");
    if(href.match(/page/)) {
        pageNumber = parseInt(href.split('=')[1]);
        doSomething(this, pageNumber); //this is the jQuery element
    }
});