我注意到我倾向于在JavaScript / jQuery中创建DOM对象并附加它们.这是可以的还是我应该在 HTML 中

I've noticed I tend to create DOM objects in JavaScript/jQuery and append them. Is this ok or should I be creating them in HTML?

本文关键字:HTML 我应该 JavaScript 倾向于 注意到 jQuery 创建 对象 DOM      更新时间:2023-09-26

我一直在开发一个应用程序,我注意到我倾向于在JavaScript/jQuery中创建DOM对象,然后像这样执行appendTo('body'):

$list = $('<ul/>', {
    id : "thelist",
    class : "listclass"
}
$list.appendTo('body');
$list.html(whateverAjaxStuff);

我的页面源代码最终只是一个带有空正文标签的头。

我只是想知道这种方法是否有任何优点/缺点。我应该在HTML中构建基本框架,然后用JavaScript操作内部HTML吗?思潮?

编辑:想澄清一下。我只对必须动态生成的东西来做这件事。$list元素加载了 AJAX,用户进行选择以填充另一个列表,依此类推。

如果有人仍然感兴趣,请链接

我不认为上面的其他答案真的足以说服你为什么绝对不应该做你现在正在做的事情。有很多理由不这样做;

  1. 搜索引擎优化(搜索引擎优化)
  2. 速度
  3. 禁用 JavaScript 的浏览器
  4. 所见即所得的编辑器(这可能会大大加快您的开发速度,并且它们不适用于您的方法)
  5. 调试和获得帮助要容易得多 - 如果你在上面的代码上寻求Stackoverflow的帮助,很少有人会帮助你。
  6. 让我们再次提及速度 - 重要的是要尽量减少在显示任何内容之前需要发生的处理量,具有大量JS处理(广告等)的网站在慢速计算机上浏览非常痛苦。

我想不出任何理由使用 jQuery 构建您的所有页面,您似乎试图模拟服务器端发生的事情(Ruby、ASP.net、PHP 等)

你可能想从JS..编辑DOM..但是完全从头开始构建它是一个非常糟糕的主意!

最好把

任何你能做的HTML放在HTML中,而不是放在JQuery:)中。

事实上,您使用 JQuery 实际构建页面这一事实的不必要的开销远远超过了您在 JQuery 中构建页面所获得的任何好处,尽管我现在想不出任何好处:)。

最终这取决于您的用例。 使用 jQuery 会降低性能,但很可能您实际上并没有注意到它。 对于很多 DOM 更改,这变得更加重要。 如果首先在jQuery中执行此操作对您来说快速/容易,那么一定要这样做,然后看看它是否足够快,适合您的场景。 如果不是,您可以根据需要返回并进行更改。

一般的经验法则是 - 尽可能少地修改 DOM,因为每次都会导致文档重排。 jQuery可以在幕后隐藏很多操作。

除了创建一个繁重的页面外,它还会阻止禁用JavaScript的用户访问该页面,他们将看到一个空白页面。

相关文章: