replace()产生意外结果

mzrt

我正在尝试编写一个脚本,该脚本将查找来自音频剪辑站点clyp的所有链接。我在js中经验不足,如果我的代码很糟糕,请原谅我。

在我的示例中,无论我做什么,即使它与“ replace”变量具有完全相同的语法,也无法使“ code”变量返回任何内容。

这是我到目前为止的内容:

身体:

<div class="body"><a href="https://clyp.it/mo3nehzm" rel="nofollow" target="_blank">https://clyp.it/mo3nehzm</a></div>

js:

function clyp() {
var length = document.getElementsByClassName("body").length
for (i = 0; i < length; i++) {
    var body = document.getElementsByClassName("body")[i];
    var body2 = body.innerHTML;
    var code = body2.replace(/([>])(https:\/\/clyp.it\/)([\w]{8})/, "$3");
    var replace = body2.replace(/([>])(https:\/\/clyp.it\/)([\w]{8})/, "$1$2$3");
    body.innerHTML = replace.concat(code);
}
}
clyp();

小提琴:

https://jsfiddle.net/mzrt/8zmuktey/

这不是最终产品。js的最后一行仅用于显示“代码”未返回任何内容。

感谢您的阅读和帮助。

康纳·雅各比(Connagh Jacobi)

产生可变代码的replace语句将删除“>”,以关闭定位标记。它应该看起来像:

var code = body2.replace(/([>])(https:\/\/clyp.it\/)([\w]{8})/, "$1$3")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章