匹配不是函数 - 错误

inp*_*ror 0 javascript jquery

我只是想测试我的对象的模式和输出(如果有),但是控制台给我一个错误,说 match 不是一个函数,而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]);
            }
        }
Run Code Online (Sandbox Code Playgroud)

请帮忙?

Gra*_*ham 5

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

请注意,jQuery 的contents()方法返回文本节点,而不是字符串。您可能想使用text()html()代替(只需一目了然地检查 jQuery 的 API 引用,我不是 jQuery 专家)。