我只是想测试我的对象的模式和输出,如果它,但是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]);
}
}
请帮忙吗?
答案 0 :(得分:4)
看起来你正在尝试将RegExp与节点匹配; match是一个字符串方法,而不是HTMLElement方法。
请注意,jQuery的contents()
方法返回文本节点,而不是字符串。您可能希望使用text()
或html()
(只需查看jQuery的API参考,我不是jQuery专家)。