javascript中的动态内容

javascript中的动态内容,javascript,Javascript,这对某些人来说可能是显而易见的。我试图在特定情况下在屏幕上放置文本框,并使用以下代码: document.getElementById('tbDetails').innerHTML = '<textarea name="taComments" style="height:40px;width:333px" class="f1 greytext" onblur="sb_textarea_onblur(this, \'Check Out Rhapsody Tours\'s Video:\')"

这对某些人来说可能是显而易见的。我试图在特定情况下在屏幕上放置文本框,并使用以下代码:

document.getElementById('tbDetails').innerHTML = '<textarea name="taComments" style="height:40px;width:333px" class="f1 greytext" onblur="sb_textarea_onblur(this, \'Check Out Rhapsody Tours\'s Video:\')" onfocus="sb_textarea_onfocus(this, \'Check Out Rhapsody Tours\'s Video:\')">Check Out Rhapsody Tours's Video:</textarea>';
我只需要一种方法来纠正javascript,允许撇号。。。任何想法

多谢各位, Paul

document.getElementById('tbDetails').innerHTML='查看Rhapsody Tours的视频:';
在这段代码中,您可以看到撇号前面有一个反斜杠,它将撇号转换为字符串的一部分。这个问题是由这个撇号引起的,因为您的
Check Out Rhapsody Tours'
使浏览器认为字符串结束了,除非您将“替换为\”

  • 你漏了一个撇号

    查看Rhapsody Tours的视频:

  • 在要转义的字符串中->
    \\\\'
    三个反斜杠,然后是撇号


  • 通过在引号和双引号前面加反斜杠来转义所有引号和双引号:

    text.replace(/'/g, "\\'").replace(/"/g, '\\"')
    
    例如

    屈服

    foo\'s bar is \"baz\"
    

    编辑:我刚意识到这一点,我以为你是在以某种方式动态获取你的内容。如果您只是将一个硬编码字符串插入其中,那么上面的答案就足够了:只需跳过多余的引用。

    非常感谢您在这个问题上的帮助。。。这就解决了!
    text.replace(/'/g, "\\'").replace(/"/g, '\\"')
    
    "foo's bar is \"baz\"".replace(/'/g, "\\'").replace(/"/g, '\\"') 
    
    foo\'s bar is \"baz\"