在javascript中使用与多个参数匹配

时间:2015-07-20 13:07:12

标签: javascript

我有一块看起来像这样的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()让我使用多个这样的参数进行搜索?

1 个答案:

答案 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) 

可以胜任。