0

谁能看到我在这里出错的地方,我试图在链接中获取 ?p= 之后的最后一个字符并放入一个变量,但我使用的代码返回 /。

我的代码是:

 $("#dvPartial").on('click', '.dvPagerCities a', function (event) {
        alert('click detected');
        var city = ($('input#hdnCountry').val());
        alert(city);
        var link = $('a').attr('href');
        //var getEqualPosition = link.indexOf('?p='); //Get the position of '='
        var getEqualPosition = link.indexOf('='); //Get the position of '='
        var number = link.substring(getEqualPosition + 1); //Split the string and get the number.

我的链接是

<a href="/Weather/Index/Australia?p=2">»</a>

我认为正在发生的事情是它拿起了 1st = 。

我的理论是这样的。

1)检测点击事件

2)获取导致事件的链接

3)提取p的值,

p 可以是 1 个数字、2 个数字或 3 个数字。

任何帮助将不胜感激,因为似乎我一解决一个问题就会出现另一个问题。

谢谢

乔治

4

5 回答 5

1

假设这p是 URL 中的唯一参数,您可以简单地用=符号分割:

$("#dvPartial").on('click', '.dvPagerCities a', function (event) {
    var city = $('input#hdnCountry').val();
    var number = $(this).attr('href').split('=')[1];
});
于 2013-02-07T11:04:58.737 回答
1

问题是这部分:

var link = $('a').attr('href');

这不会选择被点击的链接,除非您碰巧点击了页面 HTML 中的第一个链接。这样做是选择所有 <a>元素,然后返回href第一个元素的属性。

在您的事件处理程序中,您想用来this引用被点击的链接:

var link = $(this).attr('href');
// or simply
var link = this.href;
于 2013-02-07T11:20:29.340 回答
0

试试这个:

link.split('?p=')[1]

于 2013-02-07T11:08:46.527 回答
0

试试这个:http: //jsfiddle.net/7atyG/1/

$(document).on('click', '.dvPagerCities a', function (ev) {
   ev.preventDefault();
   var link = $(this).attr('href');
   var Linkval = link.substr(link.indexOf('=') + 1);
   alert(Linkval);
});
于 2013-02-07T11:14:29.163 回答
0
String s = "Jecy penny ? like sears";

String[] arr = s.split("\\?");  

在 ? 之前添加 \\,如 ? 有特殊意义

字符串 res = arr[0];

' 的转义字符可能是你错了吗?'

检查此链接删除特定字符后的所有字符

于 2013-02-07T11:20:27.550 回答