在JQuery中获取href内容和replace()

时间:2014-01-14 22:49:07

标签: jquery html replace undefined

我正在尝试获取锚标签的“href”内容,但我不能。我在这里发布代码:

HTML内容:

<li class="selected"><a href="#featured">Feat.</a></li>

<div class="page"><a href="#2">2</a></div>

JQuery内容:

$('.page a').click(function(e){
          e.preventDefault();
          //the following replace works fine
          var t = this.href.replace(/http:\/\/.*\/#(.*)/, '$1');
          var p = $(this).closest('div');
          //the following replace didn't work
          var s = $('li.selected a').href.replace(/http:\/\/.*\/#(.*)/, '$1');
});

我希望您点击<a href='#2'>2</a>时获得var s = "featured"。但是当我使用上一个函数时,它返回一个未定义的值。我的功能有什么问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

$('li.selected a')返回一个jQuery对象,而不是DOM元素,因此它没有href属性。改为:

var s = $('li.selected a')[0].href.replace(/http:\/\/.*\/#(.*)/, '$1');