Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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 通过浏览器/服务器语言获得html元素结构的最佳方法?_Javascript_Php_Html - Fatal编程技术网

Javascript 通过浏览器/服务器语言获得html元素结构的最佳方法?

Javascript 通过浏览器/服务器语言获得html元素结构的最佳方法?,javascript,php,html,Javascript,Php,Html,目前,我正在使用php回显html元素。其他时候,我需要使用javascript并以友好的方式创建这些元素(例如,mobile中的一些函数工作方式不同,需要在DOM中进行一些调整)。不幸的是,我在代码中跨越了元素的两个不同维度(或更多),如果我想更改某些内容,就需要更新所有元素。例如: 使用javascript(jQuery)进行流式长轮询: …追加(“”); PHP回声 echo "<div></div><div></div><div&g

目前,我正在使用php回显html元素。其他时候,我需要使用javascript并以友好的方式创建这些元素(例如,mobile中的一些函数工作方式不同,需要在DOM中进行一些调整)。不幸的是,我在代码中跨越了元素的两个不同维度(或更多),如果我想更改某些内容,就需要更新所有元素。例如:

使用javascript(jQuery)进行流式长轮询:

…追加(“”);
PHP回声

echo "<div></div><div></div><div></div><div></div>";
echo”“;
php中的其他内容,每个echo都有

foreach(...){
    echo "<div></div>";echo "<div></div>";
    (...)
    foreach(...){
       echo "<div></div>";
       echo "<div></div>"
    }
}
foreach(…){
回声;
(...)
foreach(…){
回声“;
回声“”
}
}
如果我想改变这个元素的结构,我必须改变3种情况中的所有情况,例如从4个div到2个div或1。我如何在php和javascript中集中所有这些元素?我曾想过在php中使用一个字符串并将其作为模板扩展到javascript,但在创建动态类和其他属性时,由于串联,它会变得一团糟。有人知道另一种方法吗?

PHP

使用PHP输出HTML最有效的方法是将所有内容聚合到一个变量中,然后打印一次

$html = '';

foreach ($rows as $key => $value) {
  $html .= $value;
  // You may nest loops as long as you want.
}

print $html;
下面是一篇关于创建简单模板的文章

JavaScript 我跟你没关系,因为它坏了。但是附加HTML节点最有效的方法是在附加之前创建它们。该方法如中所述

//你能得到的最快速度。
$(document.createElement('div');
//那是你的案子。
$(“”)。附加到(目标);
很难推荐您应该关注哪种技术,这主要取决于您的优先级。有些网站是静态的,并将其HTML存储在静态HTML文件中,例如

有些网站是动态的,随着用户的输入变化很大,在客户端呈现HTML的最佳库之一是

如果你的网站是静态的,那么就用PHP制作简单的模板引擎,如果你的网站非常依赖用户输入,那么就去做,但甚至不要考虑用jQuery制作前端渲染,你会浪费时间


如果React.js看起来太复杂,我建议使用

我喜欢与html模板相关的方法。有没有办法用javascript获取模板文件?@Fane是的,有,而且最简单。
$html = '';

foreach ($rows as $key => $value) {
  $html .= $value;
  // You may nest loops as long as you want.
}

print $html;
// The fastest you could get.
$(document.createElement('div'));

// That's for your case.
$("<div></div><div></div><div></div><div></div>").appendTo(target);