Javascript 从元素的ID中提取数字

Javascript 从元素的ID中提取数字,javascript,Javascript,我有一个click事件,它的target event.target可以使用console.logevent.target打印到控制台;它是这样打印的: <path id="menu_0_bookmark_path" class="menu_X_bookmark_path active" d="m 67.279762,121.61904 c 0,11.1503 -7.276043,6.26851 -7.276043,14.93006 V 84

我有一个click事件,它的target event.target可以使用console.logevent.target打印到控制台;它是这样打印的:

<path id="menu_0_bookmark_path" class="menu_X_bookmark_path active" d="m 67.279762,121.61904 c 0,11.1503 -7.276043,6.26851 -7.276043,14.93006 V 84.199403 c 0.188988,7.370536 7.370537,3.685275 7.276043,14.55209 z"></path>
我可以看到event.target的id=menu\u 0\u bookmark\u路径被单击。我需要从这里提取一个数字0,然后将它连接起来,这样我就能够以id=menu\u 0的对应元素为目标


那么如何提取数字呢?可以用正则表达式来实现吗?我需要这个来处理IE11…

以下代码将为您提供菜单\u 0

您可以使用变量id来选择相应的DOM节点


在上面的代码中,event.target.id.split'[1]从id中提取数字

以下代码将为您提供菜单0

您可以使用变量id来选择相应的DOM节点


在上面的代码中,event.target.id.split'[1]从id中提取数字

可以使用正则表达式吗?当然可以id.match/\d+/。您是否控制此页面?这种将两个元素联系起来的方式真的不是一个好的设计。@trincot是的,我在控制中。你有什么建议?@FelixKling这是一个很好的建议,效果很好。我想知道为什么我的设计不能像trincot说的那样好。通常你可以在不给元素id属性的情况下解决这些问题,当然也不需要id属性,id属性中隐藏着一些逻辑信息和/或序列号。当然,如果没有看到您需要它的上下文,您实际的HTML和过程,我真的不能建议以更优雅的方式来做这件事。有可能使用正则表达式来做吗?当然可以id.match/\d+/。您是否控制此页面?这种将两个元素联系起来的方式真的不是一个好的设计。@trincot是的,我在控制中。你有什么建议?@FelixKling这是一个很好的建议,效果很好。我想知道为什么我的设计不能像trincot说的那样好。通常你可以在不给元素id属性的情况下解决这些问题,当然也不需要id属性,id属性中隐藏着一些逻辑信息和/或序列号。当然,如果没有看到您需要它的上下文,您实际的HTML和过程,我真的不能建议以更优雅的方式来做这件事。
var id = 'menu_' + event.target.id.split('_')[1]