IE11 querySelector () является нулевым, но querySelectorAll () не является - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь исправить ошибку, специфичную для IE11 / Windows 7, когда я нахожусь внутри iframe, а iframeEl.querySelector('#description'); возвращает null.

Однако, если я изменяю на iframeEl.querySelectorAll('#description');, он возвращает nodeList.

В чем разница с этим поиском DOM?enter image description here

Кроме того, почему getElementById недоступен?

enter image description here

Это связано с<meta http-equiv="X-UA-Compatible" content="IE=Edge"> в любом случае?

1 Ответ

0 голосов
/ 09 мая 2019

Не могу воспроизвести вашу проблему на моей стороне, если я использую метод querySelectorAll (), возвращаемый массив будет пустым, если я использую метод querySelector (), результат будет нулевым.

В качестве обходного пути,Я предлагаю вам попробовать использовать следующий код для получения элемента из 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...