Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP-将文本附加到具有特定id的html元素中_Javascript_Php_Html - Fatal编程技术网

Javascript PHP-将文本附加到具有特定id的html元素中

Javascript PHP-将文本附加到具有特定id的html元素中,javascript,php,html,Javascript,Php,Html,我有一个id为output的pre元素,并尝试向其附加多个元素 <pre id="output"></pre> 现在在我的PHP代码中,我运行了一个for循环,它只输出计数器变量(对于本例而言) 由于php是在页面加载时呈现的,因此不需要附加它,只需将其放在div中,并直接将其回显到输出中即可 var output = document.getElementById('output'); for(var i = 0; i < 100; i++) { ou

我有一个id为
output
的pre元素,并尝试向其附加多个元素

<pre id="output"></pre>

现在在我的PHP代码中,我运行了一个for循环,它只输出计数器变量(对于本例而言)


由于php是在页面加载时呈现的,因此不需要附加它,只需将其放在div中,并直接将其回显到输出中即可

var output = document.getElementById('output');
for(var i = 0; i < 100; i++) {
   output.appendChild(document.createElement('div'));
}

因为php是在页面加载时呈现的,所以您不需要附加它——只需将它放在div中,并直接将其回显到输出中即可

var output = document.getElementById('output');
for(var i = 0; i < 100; i++) {
   output.appendChild(document.createElement('div'));
}

不完全确定是否要使用PHP或javascript向其添加内容。考虑到您在这个问题中使用的标签

但是对于PHP,您应该在渲染时这样做:

<pre id="output"></pre> 
<?php 
 $numbers=range (1,100);
    $str="";
    foreach ($numbers as $number) {
        $str .= $number . "<br/>";
        }   
    echo "<script>$('#output').append('$str')</script>";
 ?>

不完全确定是否要使用PHP或javascript向其添加内容。考虑到您在这个问题中使用的标签

但是对于PHP,您应该在渲染时这样做:

<pre id="output"></pre> 
<?php 
 $numbers=range (1,100);
    $str="";
    foreach ($numbers as $number) {
        $str .= $number . "<br/>";
        }   
    echo "<script>$('#output').append('$str')</script>";
 ?>

这是一个将数字附加到#输出的版本,php在OP请求的div之外。仍然在运行时发生,但这次创建一个字符串,然后根据请求将其附加到
元素。我更喜欢我做的第一个,在元素中包含php,除非有明确的理由不使用它,否则我建议先使用hat-one

<html>
<head></head>
<body>
  <pre id="output"><?= $pre_tag; ?></pre>
</body>
</html>
$arr = ['apple', 'orange', 'bananas'];

foreach($arr as $value)
{
  $pre_tag.= "$value <br/>\n";
}

include('template.html.php');


这是一个将数字附加到#输出的版本,php在OP请求的div之外。仍然在运行时发生,但这次创建一个字符串,然后根据请求将其附加到
元素。我更喜欢我做的第一个,在元素中包含php,除非有明确的理由不使用它,否则我建议先使用hat-one

<html>
<head></head>
<body>
  <pre id="output"><?= $pre_tag; ?></pre>
</body>
</html>
$arr = ['apple', 'orange', 'bananas'];

foreach($arr as $value)
{
  $pre_tag.= "$value <br/>\n";
}

include('template.html.php');


###马克·佩罗###

###马克·佩罗###


您可以使用
jquery
$('#output')那样追加
您可以使用
jquery
$('#output')那样追加谢谢。是的,这是可能的,但我正在寻找一种解决方案,如果for循环不在pre标记内,它也可以工作。这仅仅在PHP中是可能的吗?@EdwardBlack,那么你必须用PHP生成JS脚本。@EdwardBlack我已经更新了我的答案。你是说像这样的事吗?您的实际问题仍然有点模糊:)Hi Edward-查看我的第二篇文章-这在您请求的pre元素之外有php循环,并将数字附加到其中。注意:我使用了jquery,但如果您不使用jquery,也可以使用纯javascript)@PierreDuc,这是一个很好的解决方案,也是我搜索的内容,但不幸的是,如果标记位于PHP代码之上,则这不起作用。否则将得到
未定义的变量:output
。我认为唯一的解决方案是用PHP生成JS脚本。谢谢。是的,这是可能的,但我正在寻找一种解决方案,如果for循环不在pre标记内,它也可以工作。这仅仅在PHP中是可能的吗?@EdwardBlack,那么你必须用PHP生成JS脚本。@EdwardBlack我已经更新了我的答案。你是说像这样的事吗?您的实际问题仍然有点模糊:)Hi Edward-查看我的第二篇文章-这在您请求的pre元素之外有php循环,并将数字附加到其中。注意:我使用了jquery,但如果您不使用jquery,也可以使用纯javascript)@PierreDuc,这是一个很好的解决方案,也是我搜索的内容,但不幸的是,如果标记位于PHP代码之上,则这不起作用。否则将得到
未定义的变量:output
。我认为唯一的解决方案是在PHP中生成JS脚本。这是一个很好的解决方案,也是我所搜索的,但不幸的是,如果标记在PHP代码下面,这不起作用。@EdwardBlack如果让它在文档readyI上执行添加的脚本,它会起作用:
echo“$(document).ready(){function(){$('#output')。append('$str');}; ";
但是如果在前tagI之前调用php代码,它也不起作用assuming@PierreDuc意思是这样的:将php放在页面顶部,然后在js中有:$(document).ready(function(){$('#output').append('');});这将起作用,因为php$str是在运行时创建的,然后在document.ready上,将在append()中使用;这是一个很好的解决方案,也是我搜索到的,但不幸的是,如果标记在PHP代码下面,这不起作用。@EdwardBlack如果让它在文档ready上执行添加的脚本,它确实起作用:
echo“$(document).ready(){function(){$('.#output')。append('$str');};”
但是如果在前tagI之前调用php代码,它也不起作用assuming@PierreDuc意思是这样的:将php放在页面顶部,然后在js中有:$(document).ready(function(){$('#output').append('');});这将起作用,因为php$str是在运行时创建的,然后在document.ready上,将在append()中使用;Thx,但如果我将php代码放在标记上方,则这不起作用。我认为不生成JavaScript代码是不可能的。你搞错了!这可以在下面和上面放置html。如果您只是将html放在php代码下面(就像您这次所做的那样),那么实际上应该删除所有ob_start()、ob_end()、echo$html等内容。如果你不明白我的意思,我会为你编辑。然而,这一个按照你的意愿工作。这是可行的,但是现在如果我把pre标记放在代码上面,那么它就不再有效了<代码>未定义变量:循环\u结果
。所以我认为只有生成JavaScriptno才有可能,请参考我的答案。您需要以不同的方式工作,这取决于您是想将html放在代码上方还是下方。1) html关于php:使用ob_start()2)php aboub html:在html中插入变量。如果你想让它混合,那么你仍然需要利用这两个选项。你能解释一下你的动机吗