我有一系列记录,并为其分配了ID。即
record1,record2,record3等
我正在尝试使用以下命令获取链接的ID: -
$("a.removeTier").live('click', function() {
var tier = $(this).attr('id').match('/\d+$/');
alert(tier);
});
变量层应该只包含字符串中的数值。目前,我正在变空。
有什么想法吗?
答案 0 :(得分:7)
为什么不使用slice()或substring()?
var tier = this.id.slice(6);
// -> 1, 2, 3... 11... 123, etc
示例 - http://jsfiddle.net/TmBQ8/
PS,你现在得到的是因为你传递了一个字符串参数来匹配,而不是正则表达式。删除引号,例如match(/\d+$/)
。另请注意,在我的示例中,我跳过了使用jQuery包装器和 attr(),因为它是漫长的过程,并不像直接属性访问那样高效。
答案 1 :(得分:1)
使用钝器对象:
$(this).attr('id').substring("6","7")
如评论中所述,这仅适用于一位数字。所以这样做:
$(this).attr('id').replace("record", "")
答案 2 :(得分:0)
如果你的id总是在它前面有“记录”那么......
$("a.removeTier").live('click', function() {
var tier = $(this).attr('id').subString("6");
alert(tier);
});
如果您将“记录”更改为其他内容,只需将第6个字符的位置更改为6。