所以我一直在努力做$(document).match(/ regexp /);我一直得到“未定义不是一个功能”
当我执行$(document)html()。match(/ regexp /); TypeError:无法读取未定义
的属性“匹配”我正在使用的正则表达式是/^ [〜{。*?}} 我想要做的就是在html文档中搜索[〜{任何类型的输入}〜],这样我就可以使用jQuery用正确的代码替换它。基本上,我将创建自己的模板引擎。当前的,要么不做我需要的,要么是过度膨胀。
<body>
[~{ header }~]
<p>This is the home page</p>
[~{ footer }~]
</body>
所以我想我不清楚,我需要做的是在“[〜{”和“}〜]”中找到文字。然后将它放在变量中并确定如何处理它之后,我会再次找到整个表达式,但这次我将用其他内容替换它。
所以
[~{ header }~]
我会发现这与匹配或其他东西,将“标题”文本提取到变量中。从那里我将通过一个功能。该函数将返回一些事情,例如检索获取html页面并加载它。但它必须再次找到表达式来替换它。
答案 0 :(得分:1)
$(document)
返回一个jQuery对象,而不是一个字符串。您需要调用html()
来获取文档的HTML内容。你可以这样做:
$('body').html(function(contents) {
return contents.replace(/regexp/, 'replacement');
});
如果你只是想看比赛:
var match = $('body').html().match(/regexp/);
console.log(match);