这是用于添加一行图像的javascript代码(jquery):
var tr = $('<tr>');
var td = '<td><img src="myimg.jpg"/></td>';
tr.append(td).append(td).append(td);
$('#mytable tbody tr:eq(0)').before(tr);
tr.empty(); //I really don't need this line...
技术上tr.empty()
不应该有效。它实际上与我想要的相反。这种行为的技术术语是什么 - 你已经将tr
添加到DOM中,但是对该对象的任何jquery函数调用仍然有效,而你通常不希望它工作,即对DOM进行更改?
答案 0 :(得分:1)
我认为你有一个共享的可变对象的案例。您正在一个地方修改对象,并惊讶地发现在另一个地方可以看到更改。这在技术上不是错误的;这就是当您对可以修改的对象进行多次引用时会发生什么。
答案 1 :(得分:0)
如果除了'对象引用'之外还有一个特定术语,我不知道它是什么。我建议你的期望:
应该调整对该对象的任何jquery函数调用仍然有效,你通常不希望它工作,即对DOM进行更改?
- 对于对象变量,人们应该期望通过任何特定的引用进行更改,所有引用都会看到更新的对象。