PHP覆盖echo(ed)文本而不是append

时间:2014-02-05 15:23:52

标签: javascript php jquery

我有一个像这样简单的脚本(在foreach循环中)

echo "hi i want to vanish in an instant";
echo "hi i want to replace the above text";

所以我想覆盖文本而不是附加。

在我看来,如果没有jquery / js,没有服务器端解决方案,不是吗?

echo "<div id='placeholder'>hi i want to vanish in an instant</div>";
echo "$('#placeholder').html('hi i want to replace the above text')";

为什么它不起作用,怎么办呢?

再次感谢你的智慧和帮助

编辑:为什么来自愚蠢用户的downvotes,我想要可视化脚本所取得的进展。脚本需要3分钟才能完成。合法的。

4 个答案:

答案 0 :(得分:2)

这应该做你想要的:

echo "<script>$('#placeholder').html('hi i want to replace the above text')</script>";

(您忘记了<script>代码)

或者您只需在回显它之前替换$text的值。

答案 1 :(得分:1)

您缺少script个标签。

您需要将js代码放在脚本block中,并确保添加jQuery库链接。

echo "<script>$('#placeholder').html('hi i want to replace the above text')</script>";

<小时/> 你可以使php变量并改变它的值,当你需要输出echo它时。

答案 2 :(得分:0)

js代码应该在&lt; script&gt;中标签

但为什么不在服务器端使用变量来存储你想要回复的内容:

$out = "text 1";
$out = "text 2";
echo $out;

答案 3 :(得分:-1)

我真的没有得到你正在尝试的东西。如果你真的想要进一步使用第一个文本,你应该将它放入display none span或div。

echo '<div style='display:none'>hi i want to vanish in an instant</div>'
echo '<span style='display:none'>hi i want to vanish in an instant</span>'

或者,如果你真的不需要第一个文本,因为你试图覆盖它,只是不要写它,使用if语句或其他东西来匹配你想要写的东西。