【问题标题】:Find if a string contains a specific query string and return its value查找字符串是否包含特定的查询字符串并返回其值
【发布时间】:2010-12-26 03:32:59
【问题描述】:

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

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

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

之后的值

请给我一个简单的例子,非常感谢。 :)

【问题讨论】:

    标签: javascript jquery


    【解决方案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 或任何你想到的东西是很容易的。

    【讨论】:

      【解决方案2】:
      $("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
          }
      });
      

      【讨论】:

        【解决方案3】:

        如果你有一个指向锚标签的点并且你给出的格式是一致的,那么它可以用下面给出的东西来完成

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

        这里我们在javascriptregular expression.的帮助下寻找参数page

        【讨论】:

          猜你喜欢
          • 2011-05-14
          • 1970-01-01
          • 2012-11-23
          • 1970-01-01
          • 2020-10-06
          • 1970-01-01
          • 1970-01-01
          • 2023-04-07
          • 2022-01-02
          相关资源
          最近更新 更多