使用jQuery获取字符串的一部分
HTML代码:
如何使用jQuery获取字符串的数字“45” ?
要返回id
属性末尾的数字,请使用
$(this).attr("id").match(/[\d]+$/);
如果$(this)
是
则上面将返回45
jsFiddle示例
上面的工作方式是使用.attr()
检索元素的id,然后查看id
并使用.match()
来恢复它的末尾的数字。 /[\d]+$/
是一个正则表达式。 [\d]
表示一位数+
表示一位或多位(位数)。 和$
表示该行的结尾。
您可以使用此函数通过使用以selector [name^=value]
和.each()
开头的属性来检索所有div的末尾的数字,其id为以block-id-
id开头的id:
实际用法:
$(function() { // Select all DIS that start with 'block-id-' // and iterate over each of them. $("div[id^='block-id-']").each(function() { // You could push this data to an array instead. // This will display it. $("body").append( "Id number: " + // This is the number at the end $(this).attr("id").match(/[\d]+$/) + "
" ); }); });
jsFiddle示例
你不需要(或者特别想要)jQuery(它对很多其他东西非常有用,对此不是特别有用)。 直接的JavaScript和DOM:
var div = document.getElementById('block-id-45'); var n = div.id.lastIndexOf('-'); var target = div.id.substring(n + 1);
实例: http : //jsbin.com/osozu
如果您已经在使用jQuery,则可以将第一行替换为:
var div = $('#block-id-45')[0];
……但是几乎没有任何理由。
使用jQuery ,只需:
$("[id='block-id-45']").attr("id").split("-")[2]
对于所有block-id – ##,您可以使用Peter的答案中的掩码模式:
$("[id^='block-id-']").click(function(){ row_id = $(this).attr("id").split("-")[2]; ............. ............. })