我使用以下代码打开一个新窗口:
purchaseWin = window.open("Purchase.aspx","purchaseWin2", "location=0,status=0,scrollbars=0,width=700,height=400");
我想访问purchaseWin的dom树,例如
purchaseWin.document.getElementById("tdProduct").innerHTML = "2";
没用我只能这样做:
purchaseWin.document.write("abc");
我也尝试这样做,但它也行不通:
$(purchaseWin.document).ready(function(){
purchaseWin.$("#tdProduct").html("2");
});
我该怎么办?
最佳答案
使用jQuery,您必须访问子窗口文档的contents:
$(purchaseWin.document).ready(function () {
$(purchaseWin.document).contents().find('#tdProduct').html('2');
});
在没有库的情况下,使用纯JavaScript,您可以通过以下方式实现:
purchaseWin.onload = function () {
purchaseWin.document.getElementById('tdProduct').innerHTML = '2';
};
我认为问题在于您尝试在实际加载子窗口之前检索DOM元素。
关于javascript - 如何访问子窗口的dom树?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1258563/