匹配不是函数 - 错误

时间:2013-04-05 16:01:37

标签: javascript jquery

我只是想测试我的对象的模式和输出,如果它,但是consolel给我一个错误,说匹配不是一个函数,而w3School说它是一个javascript函数

var templateRegex = '/\${([\S\s]*?)\}/g';



    var getTextNodesIn = function(el) {
            return $(el).find("*").addBack().contents().filter(function() {
                return this.nodeType == 3 ;
            });
        };

        var textNodes = getTextNodesIn('#'+currentId);

        console.log(textNodes.length);
        for(var i=0; i<textNodes.length; i++) {
            console.log(textNodes[i]);
            if(textNodes[i].match(templateRegex)) {
                console.log(textNodes[i]);
            }
        }

请帮忙吗?

1 个答案:

答案 0 :(得分:4)

看起来你正在尝试将RegExp与节点匹配; match是一个字符串方法,而不是HTMLElement方法。

请注意,jQuery的contents()方法返回文本节点,而不是字符串。您可能希望使用text()html()(只需查看jQuery的API参考,我不是jQuery专家)。