我正在尝试修复特定于IE11 / Windows 7的错误,该错误在iframe中,而iframeEl.querySelector('#description');
返回null
。
但是,如果我更改为iframeEl.querySelectorAll('#description');
,它将返回nodeList。
还有,为什么getElementById
不可用?
它是否与<meta http-equiv="X-UA-Compatible" content="IE=Edge">
有关?
答案 0 :(得分:0)
无法单方面再现您的问题,如果我使用querySelectorAll()方法,则返回数组为空,如果我使用querySelector()方法,则结果为null。
作为一种解决方法,我建议您尝试使用以下代码从iframe中获取元素(在我这方面效果很好)。
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(function () {
$("#btnGetvalue").click(function () {
var iframe = document.getElementById("iframeId");
var elmnt = iframe.contentWindow.document.getElementById("txtname").value;
});
});
</script>
</head>
<body>
<iframe id="iframeId" src="HtmlPage19.html" width="100%" height="500px"></iframe>
<input id="btnGetvalue" type="button" value="GetValue" />
</body>