我有两个列表框和一些执行以下操作的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,但显然这不是正在发生的事情。这是为什么?
JD
答案 0 :(得分:5)
是的,appendTo
修改了DOM。但是,当您执行“查看源代码”时,您看到的是不 DOM当前状态的一个版本,但是原始 HTML源代码(因此,陈旧,不活动)。
要查看DOM的更改,您需要使用能够执行此操作的工具:
在Chrome,Safari和Opera(至少)中,如果右键单击某个元素,则在上下文菜单中会出现“Inspect Element”选项,直接打开内置工具;我认为Firebug的最新版本在Firefox上也是如此。
答案 1 :(得分:1)
appendTo更改DOM,只是在查看源时,这些更改不可见。您需要使用开发人员工具栏来浏览DOM以查看更改。
答案 2 :(得分:0)
您从“查看源代码”中看到的是最初由浏览器呈现的HTML的原始版本。
通过Javascript完成的DOM更改在内存中,单击“查看源”时不会反映出来。
如果要验证对DOM的更改,可以在Firefox上使用Firebug来查看DOM的运行状态