0

我正在尝试将 div 元素的内容保存到文本文件并收到错误消息:

TypeError:null 不是对象(评估'link.href = generateTxtFile('dummyText.innerText')')

这里有什么问题?我确保将潜水元素放在 Javascript 代码之前。

整个项目。

谢谢

    document.addEventListener('readystatechange', function() {
    if (document.readyState === "complete") {
      function generateTxtFile(text){
        var textFile = null;
        var data = new Blob([text], {type: 'text/plain'});
        if (textFile !== null) {
          window.URL.revokeObjectURL(textFile);
        }
        textFile = window.URL.createObjectURL(data);
        return textFile;
      }
      (function () {
        var btnCreateFile = document.getElementById('btnCreateFile'),
        dummyText = document.getElementById('log');
        btnCreateFile.addEventListener('click', function () {
          var link = document.getElementById('downloadLink');
          link.href = generateTxtFile('dummyText.innerText');
          link.style.display = 'inline-block';
        }, false);
      })();
    }
    }
                              )
        <button id="btnCreateFile">Generate File</button>
    <a download="info.txt" id="downloadlink" style="display: none">Download</a>
         <div id="log">
              <span>Log</span>
              <br>
              <li>item</li>
              <li>item</li>
              <li>item</li>
              <li>item</li>
              <p>----------------</p>
              <br>
              </div>

4

1 回答 1

0

你有一个错字..你id="downloadlink在 html 中,但你正在做var link = document.getElementById('downloadLink');

注意大写 L... 将 html 更改为 downloadLinklink不应为空...

于 2020-11-02T20:38:14.697 回答