Javascript 匹配不是函数错误

Javascript 匹配不是函数错误,javascript,jquery,Javascript,Jquery,我只是想测试我的对象的模式和输出,如果它有,但控制台给我一个错误,说匹配不是一个函数,而说它是一个javascript函数 var templateRegex = '/\${([\S\s]*?)\}/g'; var getTextNodesIn = function(el) { return $(el).find("*").addBack().contents().filter(function() { return this

我只是想测试我的对象的模式和输出,如果它有,但控制台给我一个错误,说匹配不是一个函数,而说它是一个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]);
            }
        }
var templateRegex='/\${([\S\S]*?)\}/g';
var getTextNodesIn=函数(el){
返回$(el).find(“*”).addBack().contents().filter(函数(){
返回this.nodeType==3;
});
};
var textNodes=getTextNodesIn(“#”+currentId);
console.log(textNodes.length);

对于(var i=0;i,看起来您正在尝试将RegExp与节点匹配;match是一个字符串方法,而不是HTMLElement方法


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

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


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

你的
console.log打印什么?这需要一些东西!->
var templateRegex=newregexp(“/\${([\s\s]*?)\}/”,“g”)
textNodes
一个字符串数组吗?
getTextNodesIn
做什么?看起来像是试图将RegExp与节点匹配;
match
是一个字符串方法,而不是HTMLElement方法。正如格雷厄姆在下面所说的,您可以使用
textNode.eq(i).text().match(templateRegex)
你的
控制台.log打印什么?这需要一些东西!->
var templateRegex=new RegExp(“/\${([\s\s]*?)\}/”,“g”)
textNodes
字符串数组吗?
getTextNodesIn
做什么?看起来你在试图将一个RegExp与一个节点匹配;
match
是一个字符串方法,而不是HTMLElement方法。正如格雷厄姆在下面所说的,你可以使用
textNode.eq(i).text().match(templateRegex)