从以下标记开始。
使用jQuery选择器和JavaScript有哪些选项可以获取id中的整数?
例如。
<div id="my-div">
<a href="#" id="link-1">Somewhere</a>
<a href="#" id="link-2">Somewhere else</a>
</div>
使用jQuery选择器和JavaScript有哪些选项可以获取id中的整数?
例如。
$("#my-div a").click(function(){
$(this).id // ... somehow grab n from "link-n"
alert(n);
});
substr()
函数呢?如果你假设前五个字符是link-
,那么也可以假设它的最后一部分就是你要找的数字,不是吗? - zombatsubstr
匹配,而正则表达式则清楚地显示了您要查找的内容。这也意味着,如果您以某种不同格式匹配了一个带有id
的元素,它将失败;通常,在源头检测到错误并及早捕获错误比使用损坏的数据并在之后失败要好。 (tl;dr gnarf所说的) - Brian Campbellvar n = parseInt($(this).attr('id').match(/link-(\d+)/)[1], 10);
,它会产生错误并结束该函数中Javascript的处理。更好的方法是进行空匹配(例如对意外ID进行substr()
),并检查匹配是否确实是int然后再使用它。substr()
比正则表达式简单得多,可以提高代码的可读性。 - zombat