我需要在加载页面时运行此javascript:
document.body.innerHTML = document.body.innerHTML.replace(/\} \}/g, '}}');
我还需要在加载页面时运行这个jQuery(处理我的侧边栏):
$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});
这适用于侧边栏(位于</body>
之前):
<script>$(document).ready(function() {
$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});
});</script>
但如果我像这样添加正则表达式行:
<script>$(document).ready(function() {
$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});
document.body.innerHTML = document.body.innerHTML.replace(/\} \}/g, '}}');
});</script>
正则表达式有效,但侧栏位停止工作。这是因为我混合了Javascript和jQuery吗?我该如何解决这个问题?感谢。
答案 0 :(得分:0)
您正在更换文档正文,因此绑定将丢失。
$(document).ready(function() {
// change body
document.body.innerHTML = document.body.innerHTML.replace(/\} \}/g, '}}');
// then bind to new body
$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});
});
答案 1 :(得分:0)
也许是一个更清晰的方法,基于你的澄清评论,你想要替换的唯一双括号是在类my-content
的元素中:
$('.my-content').text().replace(/\} \}/g, '}}');