繁体   English   中英

使用jQuery从li中的字符串中提取数字

[英]Extract number from string within li with jquery

如何仅在span元素之后提取数字部分?

<ul class="info">
 <li class="name"><span class="textLabel">Name: </span>further (22)</li>
 <li>more stuff</li>
 <li>more stuff</li>
</ul>

我可以使用.contents()获得<li>的全文,但是由于我不需要span值,所以我只使用.contents()[1]然后further (22) 我在这里遇到了问题-使用.match(/\\((\\d+)\\)/时会不断出错,例如TypeError: Object #<Text> has no method 'match'

这是一个jsfiddle可以做到的:

$(document).ready(function(){
    alert(parseInt($('li.name').text().replace(/[^0-9\.]/g, '')));
});

尝试:

my_str = mystr.slice(-3,-2);

仅用于固定长度。 要么:

var my_array=my_input.split("(");
var my_out = my_array[1].slice(1,-1); //Trim final character

尝试:

$('li').text().match(...)

错误是由于您尝试针对DOM节点而不是字符串执行正则表达式。

/*stuff you do to get your element*/.text().match(/\((\d+)\)/);

内容返回元素,文本节点和注释节点。 由于只需要文本内容,因此应使用text()

现场演示

alert($('.name').text().match(/\((\d+)\)/)[1]); // 22
var num = $('li.name').text().split('(')[1].split(')')[0];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM