我有一块看起来像这样的HTML代码。
<ul class = "barcharts">
<li class = "wind_v">-100kW</li>
<li class = "battery_v">+20kW</li>
<li class = "wave_v">+20kW</li>
<li class = "station_v">+20kW</li>
<li class = "charge_v">+20kW</li>
<li class = "solar_v">+20kW</li>
<li class = "factory_v">+20kW</li>
<li class = "shops_v">-20kW</li>
<li class = "house_v">+20kW</li>
</ul>
我想使用match()获取一个数组,其中包含+和 - 字符,即在这种情况下:
array = '-','+','+','+','+','+','-','+';
如何格式化match()让我使用多个这样的参数进行搜索?
答案 0 :(得分:0)
不要使用regexp解析HTML。相反,使用DOM。你很高兴你做到了。
// Get the first character of the content of a DOM element.
function firstCharOfContent(elt) { return elt.textContent[0]; }
// Get the li elements.
// Fix this to pick out different sets of elements.
var lis = document.querySelectorAll('ul.barcharts li');
// Map that array into one containing the first characters of the content of each.
[].map.call(lis, firstCharOfContent)
如果出于某种原因,您的心脏开始使用match
,那么
ul.innerHTML.match(/[+-]/g)
可以胜任。