Javascript 使用正则表达式获取div中的部分文本

Javascript 使用正则表达式获取div中的部分文本,javascript,jquery,regex,Javascript,Jquery,Regex,我已经得到了这个HTML代码,我正在尝试获取SizeX、SizeY和Color的值 <div id="index"> <h2>Things</h2> <p><span>SizeX: </span><strong>15</strong></p> <p><span>SizeY: </span><strong>25</strong

我已经得到了这个HTML代码,我正在尝试获取SizeX、SizeY和Color的值

<div id="index">
  <h2>Things</h2>
  <p><span>SizeX: </span><strong>15</strong></p>
  <p><span>SizeY: </span><strong>25</strong></p>
  <p><span>Color: </span><strong>red</strong></p>
</div>
然后我调用
SizeX
查看结果,结果是
null
。我不知道为什么,我的正则表达式应该是正确的,因为它在那里工作

我使用exec的方式和这里显示的一样


谢谢。:)

如果将正则表达式与HTML一起使用,您会感到头疼。那太糟糕了,别客气

更好的方法是使用jQuery的
$.fn.text
方法

var elem = $('#index');
var obj = {};
elem.find('span').each(function(){
   obj[$(this).text().replace(/\W/g, "")] = $(this).next().text().trim();
});

您知道,您只需使用括号表示法,使span的文本不包含非字母字符(已删除)、属性名称,我们将为下一个元素分配修剪后的文本,即
您根本不需要正则表达式:

$( "#index strong").each(function( index ) {
  console.log(  $( this ).text() );
});

更新:

console.log(  $(this).prev().text()+':'+$( this ).text() );

现在制作变量,将它们放入数组/对象中,或者任何你想要的…

如果你否决我的意见,告诉我我的问题出了什么问题,我会解决它。谢谢。:)
console.log(  $(this).prev().text()+':'+$( this ).text() );