jquery - AppendTo,它会改变 DOM 吗?

标签 jquery

我有两个列表框和一些执行以下操作的 JQuery 函数:

 $(document).ready(function () {
    //If you want to move selected item from fromListBox to toListBox
    $("#AddButton").click(function () {
      $("#fromListBox  option:selected").appendTo("#toListBox");
    });
});

我有一个按钮,单击该按钮会将项目从一个列表移动到另一个列表。这是可行的,但是当我在 Chrome 中执行“查看页面源代码”时,列表包含原始列表,而不是新添加的项目。

我预计appendTo会改变DOM,但显然这不是正在发生的事情。这是为什么?

京东

最佳答案

是的,appendTo 修改了 DOM。但是,当您“查看源代码”时,您看到的不是 DOM 当前状态的版本,而是重新检索(或缓存)的原始版本> HTML 源代码(因此是陈旧的、不活跃的东西)。

要查看 DOM 的更改,您需要使用执行此操作的工具:

  • 对于 Firefox,请使用 Firebug 的 HTML 选项卡(该名称有点误导)。
  • 对于 Chrome 或 Safari,请使用“开发工具”的“元素”选项卡。 (开发工具在 Chrome 中是 Ctrl+Shift+I;不过,在这两种浏览器上,都可以从右上角的 Spanner 菜单中使用它。您可能必须在首选项中启用它。)
  • 对于 IE,请使用免费版本的 VS.Net。
  • 对于 Opera,请使用 Dragonfly 的( View | 开发人员工具 | Dragonfly)DOM 选项卡。

在 Chrome、Safari 和 Opera(至少)中,如果右键单击某个元素,上下文菜单上会出现“检查元素”选项,可直接打开内置工具;我认为 Firebug 的最新版本在 Firefox 上也做了同样的事情。

关于jquery - AppendTo,它会改变 DOM 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4550125/

相关文章:

javascript - 使用 React.js 的 SlideUp() 和 SlideDown() 动画

javascript - 通过ajax从select框获取值到mysql

javascript - 鼠标悬停时如何获取td,div标签的id

jquery - 自定义 jQuery UI 对话框

javascript - jQuery 无法设置超时

javascript - 在 iframe 中双重提交值表单

javascript - 通过预选下拉列表加载 Ajax 下拉列表

javascript - 在 div 中使用 onclick 函数显示/隐藏另一个 div

javascript - .addEventListener 不工作

javascript - jquery 数组相交