javascript - 使用 JQuery 替换开始和结束标记
问题描述
我需要解析我的网站并将新版本保存到变量中。
例如我有这样的代码:
<body>
<div data-newname="test"></div>
<div data-newname="test2"></div>
</body>
所以新代码应该是:
<body>
{{Start:test}}{{End::test}}
{{Start:test2}}{{End::test2}}
</body>
我想使用 replacewiths 方法,但这对我没有帮助:(也许是正则表达式?
解决方案
您正在寻找replaceWith()
更新:倒序替换最里面的第一个
$($('[data-newname]').get().reverse()).replaceWith(function() {
let data = $(this).data('newname')
return `{{Start:${data}}}${$(this).html()}{{End::${data}}}`
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div data-newname="test1">
Test1
<div data-newname="test2">Test2</div>
</div>
<div data-newname="test3">Test3</div>
推荐阅读
- javascript - 我如何使用 Promise.all 使用此参数执行多个请求?
- java - 在anyRequest之后无法配置antMatchers?如何解决
- clojure - 使用“Clojure”的基本计算器
- python - ImportError 的原因:No module named requests
- python - 更新了 Anaconda 但它坏了,所以卸载并再次安装但它不起作用?
- javascript - 如何在不使用 cookie 或 service worker 的情况下在每个请求中发送令牌?
- python - 从句子中删除第一个单词并返回剩余的字符串
- javascript - Promise 安排和语法
- dart - Dart:使用 mixin 将抽象方法的实现外包
- wordpress - 在所有设备上强制桌面视图 Wordpress