在JQuery中获取href content并替换()
我正在尝试获取锚定标记的“href”内容,但我不能。我在这里发布代码: HTML内容:在JQuery中获取href content并替换(),jquery,html,replace,undefined,Jquery,Html,Replace,Undefined,我正在尝试获取锚定标记的“href”内容,但我不能。我在这里发布代码: HTML内容: <li class="selected"><a href="#featured">Feat.</a></li> <div class="page"><a href="#2">2</a></div> 我希望当您单击时,您会看到var s=“featured”。但是当我使用前一个函数时,它返回一个未定义的值。我的功
<li class="selected"><a href="#featured">Feat.</a></li>
<div class="page"><a href="#2">2</a></div>
我希望当您单击
时,您会看到var s=“featured”
。但是当我使用前一个函数时,它返回一个未定义的值。我的功能出了什么问题
谢谢大家! $('li.selected a')
返回jQuery对象,而不是DOM元素,因此它没有href
属性。改为:
var s = $('li.selected a')[0].href.replace(/http:\/\/.*\/#(.*)/, '$1');
另请注意,要修改jQuery对象的属性,可以使用。不过,DOM对象的
href
属性更简单、速度更快。这也有区别.attr('href')
从DOM获取文本href属性,但.href
获取解析的URL。@Barmar很高兴知道它!
var s = $('li.selected a')[0].href.replace(/http:\/\/.*\/#(.*)/, '$1');