提取?=之后的字符链接中



有人能看到我在哪里出错了吗?我正在尝试获取后面的最后一个字符?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位。

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

感谢

George

假设p是URL中唯一的参数,您可以简单地通过=符号进行拆分:

$("#dvPartial").on('click', '.dvPagerCities a', function (event) {
    var city = $('input#hdnCountry').val();
    var number = $(this).attr('href').split('=')[1];
});

问题出在这部分:

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

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

在事件处理程序中,您希望使用this来引用单击的链接:

var link = $(this).attr('href');
// or simply
var link = this.href;

试试这个:

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

String s="Jecy penny?like sears";String[]arr=s.split("\\?");添加\\之前?,像具有特殊意义字符串res=arr[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);
});

最新更新