Javascript用Javascript表达式替换所有
javascript replace all with a javascript expression?
我知道这个regexp replace: something.replace(/something/g,"something");
替换字符串中的每个事件,但是我如何用jQuery/JavaScript表达式替换所有的东西,因为像这样的东西:
newhtml=newhtml.replace(wrap($('<span class="charachter">' + prop + '</span>'))/g, wrap($('<span class="charachter">' + prop + '</span>'), obj[prop]));
不能工作,当它被转换成这样:
newhtml=newhtml.replace(/wrap($('<span class="charachter">' + prop + '</span>'))/g, wrap($('<span class="charachter">' + prop + '</span>'), obj[prop]));
我该怎么办?
正则表达式仅用于字符串。正在发生的事情是,它正在将通常会选择节点的文本转换为字符串,并试图匹配这些字符,这些字符将不匹配,因此它将不做任何事情。
如果要替换节点,则需要修改节点属性或删除该节点并在其相同位置添加新节点。
注意,您可能会使用jQuery的replaceWith方法(也可能使用clone方法,这取决于您想要做什么)来为1节点提供您试图替换的所有节点属性。
$('#node1').replaceWith($('#node2')); //Replace node1 with node2
$('#node1').replaceWith($('#node2').clone()); // Replace node1 with a copy of node2
我意识到其他海报的答案可能更接近于你所需要的,但如果你想做花哨的正则表达式与其中的变量,你需要使用RegExp构造函数。
var text = "old stuff"
var stuff = "lots of old stuff"
var newStuff = stuff.replace(new RegExp(text, 'g'), "new stuff") // lots of new stuff
关于替换的更多文档:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace
对于你来说,也许你想做这样的事情:
var $span = $("<span class='rarar'>bla bla bla</span>") // create the new element
var html = $span.text() // bla bla bla
var text = html.replace(new RegExp("bla", "g"), "go")
$span.text(text) // <span class='rarar'>go go go</span>
$span.appendTo(document.body) // add it to the body
相关文章:
- 如何使用uglifyjs/uglifyjs2解析walk和eval javascript表达式
- 解析一个复杂的JavaScript表达式,将其改写为另一种格式
- SCSS中的Javascript表达式
- 如何缩短此javascript表达式?document.createElement
- 从javascript表达式(Rhino)中获取变量
- Webpack:是否可以在编译时评估javascript表达式
- 将一个小型javascript表达式转换为mongodb查询
- 编写一个包含一个大写字母和六个数字的javascript表达式
- 用于根据上一个值筛选序列的惯用clojure和Javascript表达式
- 如何将 css 规则应用于 Javascript 表达式
- 定义内联 JavaScript 表达式的替代方法
- 将数学字符串转换为JavaScript表达式
- Birt报告引擎.评估Javascript表达式时出错
- 在Javascript表达式中使用throw
- 如何评估JavaScript表达式
- 在winrt/xaml/c#应用程序中动态评估javascript表达式
- JavaScript表达式合并而不是添加变量
- 无法识别Javascript表达式
- 这两个javascript表达式有什么不同
- 如何添加javascript表达式's输出到我的CSS