Javascript全局对象在DOM中引用html元素时的行为
我对下面javascript代码的行为有点困惑 -我创建了一个全局数组对象来容纳所有锚点 -然后在从服务器获取新的html后,我在div中更新相同的html -html已经更新了锚元素 -在html被替换之后,我假设全局文件不会被修改,但是它已经被修改了。i、 e如果我执行anc.html(),我将得到空白输出。为什么没有失去,只有它的孩子走了 -它在IE中清空,而不是在chrome中清空Javascript全局对象在DOM中引用html元素时的行为,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我对下面javascript代码的行为有点困惑 -我创建了一个全局数组对象来容纳所有锚点 -然后在从服务器获取新的html后,我在div中更新相同的html -html已经更新了锚元素 -在html被替换之后,我假设全局文件不会被修改,但是它已经被修改了。i、 e如果我执行anc.html(),我将得到空白输出。为什么没有失去,只有它的孩子走了 -它在IE中清空,而不是在chrome中清空 <!DOCTYPE html> <html xmlns="http://www.w3.o
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="jquery-1.6.1.js"></script>
<script language="javascript" type="text/javascript">
var linkArray;
function setGlobalVar() {
linkArray = $('.links');
}
function iterateGlobalVar() {
for (var i = 0; i < linkArray.length; i++) {
var item = $(linkArray[i]);
alert(item.html());
}
}
function modifyDivHtml() {
var div1 = $('#div1');
var html = '<a href="#" class="links"><img src="11.jpg" alt="11" />11</a>';
div1.html(html);
}
</script>
</head>
<body>
<input type="button" onclick="setGlobalVar()" value="setGlobalVar--CLICK 1" />
<div id="div1">
<a href="#" class="links"><img src="1.jpg" alt="1" />1</a>
</div>
<input type="button" onclick="iterateGlobalVar()" value="iterateGlobalVar--CLICK 2" />
<input type="button" onclick="modifyDivHtml()" value="modifyDivHtml--CLICK 3" />
<input type="button" onclick="iterateGlobalVar()" value="again iterateGlobalVar--CLICK 4" />
</body>
</html>
var-linkArray;
函数setGlobalVar(){
linkArray=$('.links');
}
函数iterateGlobalVar(){
对于(var i=0;i
我投票决定关闭这家公司。不清楚你在问什么,丢了什么?什么不起作用?什么是“预期”?您按什么顺序单击哪些按钮来复制此内容?为什么要替换#div1
的全部内容,而不只是更新内部图像的src
和alt
属性?当然,您会丢失引用。您的集合引用了已替换的元素。每个对象在DOM中都是唯一的。@Teemu:whenvalue
是字符串时就不是了?而且,它不应该影响linkArray