Javascript .replaceWith会弄乱脚本
出于学习的原因,我建立了自己的链接缩短器和耶。。。 5秒后,此代码Javascript .replaceWith会弄乱脚本,javascript,jquery,Javascript,Jquery,出于学习的原因,我建立了自己的链接缩短器和耶。。。 5秒后,此代码 <div class="skip-container"> <p class="five">SKIP IN 5 SECONDS</p> </div> 在5秒内跳过 应替换为 <div class="skip-button"> <a href="PHP CODE" class="js-skip-button">SKIP THIS AD<
<div class="skip-container">
<p class="five">SKIP IN 5 SECONDS</p>
</div>
在5秒内跳过
应替换为
<div class="skip-button">
<a href="PHP CODE" class="js-skip-button">SKIP THIS AD</a>
<div class="skip-arrow"></div>
</div>
为了做到这一点,我尝试了
$( document ).ready(function test() {
setTimeout(function test() {
$("p.five").replaceWith('<div class="skip-button">
<a href="PHP CODE" class="js-skip-button">SKIP THIS AD</a>
<div class="skip-arrow"></div> </div> ');
}, 5000);
});
$(文档).ready(功能测试(){
setTimeout(函数测试(){
$(“第五页”)。替换为('
');
}, 5000);
});
它改变了脚本,但它看起来是坏的,不像它应该如何。。。我读了一些关于它的东西,把它保存在DOM之类的东西里,但我对这一切都是新的,是的。。。是问题页面 您需要向下连接字符串,或者转义新行:
$(function() {
setTimeout(function() {
$("p.five").replaceWith('<div class="skip-button">\
<a href="PHP CODE" class="js-skip-button">SKIP THIS AD</a>\
<div class="skip-arrow"></div>\
</div> ');
}, 5000);
});
$(函数(){
setTimeout(函数(){
$(“第五页”)。替换为('\
\
\
');
}, 5000);
});
ES5没有多行字符串;您的JS控制台将指示您的语法错误。@DaveNewton:没有任何版本的JavaScript具有未替换的多行字符串。:-)ES2015+具有模板文本,其计算结果为字符串(除非对其应用了标记函数以执行其他操作)。复制时检查是否有奇怪的空格:@I.Dynin:不再是了,其中一行上只有几个额外的空格;Ben已经解决了。@T.J.Crowder没有在答案中发现奇怪的空格(因此在复制时会出现关于奇怪空格的评论;))BenM检查网站OK编辑的版本效果更好,但仍然不应该是这样