javascript - 动态给dom赋值

标签 javascript jquery dom

我有一个 html 页面,它将显示用户个人资料用户名、地点、关于等。我在 jquery 中使用 ajax 获取值。现在我有问题如何将检索到的值分配给 DOM:

第一种方法是等待我获取数据,然后动态创建 dom 并附加到目标 div

 $.ajax({
     url: "profiledata",
     type: "POST",
     success:function(data){
         $("<div><label>"+data.name</label><br/>
          <label>"+data.place</label></div>").appendTo("target div");
     }

在这种方法中,会发生更多的字符串附加,所以我怀疑该进程消耗的内存。

第二种方法将仅使用 id 来分配值:

 $.ajax({
     url: "profiledata",
     type: "POST",
     success:function(data){
          $("#uname").text(data.name);
          $("#place").text(data.place);
     }

 <div><label id="uname"></label><br/>
<label id="place"></label></div>

哪一个在加载页面方面效率更高,即更轻的代码和页面 我提到过一些写入方法吗?或者有更好的解决方案吗?

最佳答案

根据用例,两种解决方案都有优点和缺点。

第一种方法:

  • 在需要时才加载元素
  • 但它也让 JQuery 在内存中创建元素,而不是修改页面上的元素。

第二种方法:

  • 不是创建元素,因此修改标记会更容易一些,因为我们不在 js 中查找 html。
  • 现在,如果我们不希望用户看到这些元素,我们必须记住隐藏它们

我将使用哪种方法取决于不同的因素。一般来说,我更喜欢第二种,因为当我想修改标记时,我不会查看 javascript。

关于javascript - 动态给dom赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16342575/

相关文章:

jquery - 找到某个元素覆盖的每个 DOM 元素?

javascript - 打印数组javascript中重复数字的索引

javascript - 如何搜索其值可能在字符串中包含“或”的选项?

javascript - 防止表单重定向或刷新提交?

javascript美元符号变量不起作用

python - 是否有内置包将 html 解析为 dom?

javascript - 当链接已经有 anchor 滚动时滚动到另一个页面上的位置

javascript - 如何在 Angular 应用程序中同步 HTTP 请求?

javascript - 我如何使用 jQuery 计算单选按钮值的总和?

javascript - 使用 watch.js 取消监视对象时出现问题