Javascript 如何使用jquery获取锚url末尾的数字?

Javascript 如何使用jquery获取锚url末尾的数字?,javascript,jquery,html,anchor,href,Javascript,Jquery,Html,Anchor,Href,我的锚定标记位于表行内,并具有以下形式,其中url末尾的数字可以是任何数字1,9100、1049,。。。等等 单击锚时,如何获取url末尾的数字?我甚至无法让以下各项发挥作用: $('table').on('click', 'a', function (event) { alert($(this).attr('href').val()); }); $('table')。在('click','a',函数(事件){ 警报($(this.attr('href').val()); }); ..

我的锚定标记位于表行内,并具有以下形式,其中url末尾的数字可以是任何数字1,9100、1049,。。。等等

单击锚时,如何获取url末尾的数字?我甚至无法让以下各项发挥作用:

$('table').on('click', 'a', function (event) {
  alert($(this).attr('href').val());
});
$('table')。在('click','a',函数(事件){
警报($(this.attr('href').val());
});

...
...
...
...
...
...

首先,您需要在查询选择器中的标记说明符周围加引号。您甚至可以将查询选择器更改为单个字符串(
table a
,而不是
table
a
):

其次,使用
split
函数将url字符串转换为基于字符
“/”
的数组:

工作示例:

您可以使用
.slice()
.lastIndexOf()
。注意,如果未定义
a
,则在委托事件中缺少围绕选择器
“a”
的路径

$(“表”)。在(“单击”、“a”上,函数(事件){
event.preventDefault();
警报(this.href.slice(this.href.lastIndexOf(“/”)+1));
});

... ...

使用正则表达式,可以选择字符串的一部分。写入正则表达式以运行它并获得结果

$("table").on('click', "a", function(event){
  alert(this.href.match(/\d+$/)[0]);
});
$(“表”)。在('click',a',函数(e){
e、 预防默认值();
console.log(this.href.match(/\d+$/)[0]);
});

...
...
...
...
...
...

要提取字符串末尾的数字,可以使用RegEx
\d+$
<代码>\d+
将匹配一个或多个数字,
$
-带锚点的端点将在行尾进行匹配。所以,这将匹配字符串末尾的数字

$(this).attr('href').match(/\d+$/)[0]
match()
将匹配数字并返回一个数组。要从数组的第0个索引中获取数字,请使用
[0]
。正如其他答案
中所建议的那样,this.href
也可用于获取所单击元素的
href
属性的值。请注意,事件处理程序中的
指的是发生事件的元素


代码中有一些问题

$(table).on('click', a , function (event) {
   alert($(this).attr('href').val());
});
由于我没有看到给定代码中定义的
table
a
变量,我假设您正在尝试将它们用作选择器。
$(table)
应该是
$('table')
a
应该是
$('a')

$(this).attr('href')
将返回
href
属性的值。因此,无需对其调用
val()
val()
用于获取元素值(即元素上
value
属性的值)

锚定单击将重定向到给定的URL。要停止此操作,可以使用
event.preventDefault()
或在事件处理程序末尾添加
return false

$('table')。在('click','a',函数(e)上{
console.log(this.href.match(/\d+$/)[0]);
e、 预防默认值();
});


$(this.attr('href').match(/\d+$/)[0]
@Tushar您应该写一个实际的答案。请不要用这些评论。我错了。处理完毕。感谢您指出我的错误并提供jquery选择器其他方面的一些详细信息。
$(this).attr('href').match(/\d+$/)[0]
$(table).on('click', a , function (event) {
   alert($(this).attr('href').val());
});