下载 html 时如何获取文本值而不是 [object NodeList]?

5 javascript dom

我有一个 javascript 代码并返回 [object NodeList]

我该如何纠正这个问题

请帮我

<!DOCTYPE html>
<html lang="en" class="no-js">
<head lang="en">
  <script>
  function downloadDiv(filename, elementId, mimeType) {
    var elementHtml  = document.querySelectorAll('div1');

    var link = document.createElement('a');
    mimeType = mimeType || 'text/plain';

    link.setAttribute('download', filename);
    link.setAttribute('href', 'data:' + mimeType  +  ';charset=utf-8,' + encodeURIComponent(elementHtml));
    link.click(); 
  }

  var fileName = 'divContents.html';
  </script>
Run Code Online (Sandbox Code Playgroud)

lon*_*day 9

var elementHtml  = document.querySelectorAll('div1');
Run Code Online (Sandbox Code Playgroud)

document.querySelectorAll返回一个NodeList对象,它是 DOM 节点的集合。

您可能需要其中第一个的 HTML 内容:

var elementHtml = document.querySelectorAll('div1')[0].innerHTML;
Run Code Online (Sandbox Code Playgroud)

如果可能有多个(或者实际上少于一个!),明智的选择是将其作为循环来执行:

var elementHtml = [].map.call(document.querySelectorAll('div1'), function(el) {
    return el.innerHTML;
}).join();
Run Code Online (Sandbox Code Playgroud)