将内容从标签加载到div中

时间:2014-01-11 19:59:40

标签: javascript php variables tabs

我正在尝试使用一个php变量,当点击<li>时,该变量包含一个html片段以显示在div中。如果变量只包含没有html的文本字符串,则下面的代码有效。但是只要我添加html它就会停止工作。我做错了什么?

我已根据我在下面收到的帮助更新了代码,但它仍无效。

这有效:

$(function() {
            $('#tab-1').click(function() {
                    alert('click event called!'); var tabcontent = "Test Content";
                    document.getElementById('top-tabs-content').innerHTML = tabcontent;
            });
            });

这不是:

$(function() {
            $('#tab-1').click(function() {
                    alert('click event called!'); var tabcontent = "<?php echo json_encode($tabcontent[0]);?>";
                    document.getElementById('top-tabs-content').innerHTML = tabcontent;
            });
            });

2 个答案:

答案 0 :(得分:1)

尝试替换

var tabcontent = "<?php echo $tabcontent[1]; ?>"

var tabcontent = "'" + "<?php echo $tabcontent[1]; ?>" + "'";

答案 1 :(得分:0)

找到解决方案! preg_replace和addslashes可以使javascript正确。问题是变量中的html是多行,这在JS函数中不起作用。以下是将JS var设置为PHP var而不会破坏的方法:

var tabcontent = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($tabcontent[1]));?>";