如何仅在span元素之后提取数字部分?
<ul class="info">
<li class="name"><span class="textLabel">Name: </span>further (22)</li>
<li>more stuff</li>
<li>more stuff</li>
</ul>
我可以使用<li>
获取.contents()
的全文,但由于我不需要span值,我只需使用.contents()[1]
然后获取further (22)
。它在这里我遇到了问题 - 在使用.match(/\((\d+)\)/
TypeError: Object #<Text> has no method 'match'
时,我一直遇到错误。
答案 0 :(得分:1)
这是一个jsfiddle,它正是这样做的:
$(document).ready(function(){
alert(parseInt($('li.name').text().replace(/[^0-9\.]/g, '')));
});
答案 1 :(得分:0)
尝试:
my_str = mystr.slice(-3,-2);
仅适用于固定长度。或者:
var my_array=my_input.split("(");
var my_out = my_array[1].slice(1,-1); //Trim final character
答案 2 :(得分:0)
尝试:
$('li').text().match(...)
错误来自于您尝试针对DOM节点而不是字符串执行正则表达式。
答案 3 :(得分:0)
/*stuff you do to get your element*/.text().match(/\((\d+)\)/);
答案 4 :(得分:0)
<强> Live Demo 强>
alert($('.name').text().match(/\((\d+)\)/)[1]); // 22
答案 5 :(得分:0)
var num = $('li.name').text().split('(')[1].split(')')[0];