在javascript中解析伪元素的内容属性

时间:2018-06-01 13:52:46

标签: javascript regex pseudo-element

我正在构建一个工具,它将解析伪元素内容并返回变换器对象。

当前代码是这样的

 ContentTransformerFactory.contentValueExpression = /content\s*:\s*(.*?);/gi; 
 ContentTransformerFactory.getTransformer = function (nodeContentAndStyle) 
{
    var match = nodeContentAndStyle.match(ContentTransformerFactory.contentValueExpression);
    if(match.length > 1) 
{
        throw "There should not be more than one match, if that so then content is wrong.";
}
    console.log("Matched content "+match[0]);

    //Find the corresponding transformer for the content.
    return ContentTransformerFactory.findTransformer()
}

ContentTransformerFactory.findTransformer = function (contentString) {
    // If string is null or empty (excluding spaces) then return null.
    if (contentString == null || "" === contentString ){
        return null;
}


}

现在我想要 1个内容:“(”counter(item,decimal)“)”--->然后是CounterTransformerContent。

2内容:“”attr(数据)“”--->然后是AttributeTransformerContent。

3内容:“”引号“”--->然后是QuotestTransformerContent。

4 content:“”Counter(item,decimal)attr(href)“”--->然后是CompositeTransformerContent。

为了实现上述情况,我使用了contentString.indexOf(Counter)contentString.indexOf(attr)...但是很多if else都被添加到那里。

有人可以建议我更好地解析内容并创建适当的变换器。 感谢。

0 个答案:

没有答案