Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将HTML代码段中的文本写入带有换行符的文本文件?_Javascript_Html - Fatal编程技术网

Javascript 如何将HTML代码段中的文本写入带有换行符的文本文件?

Javascript 如何将HTML代码段中的文本写入带有换行符的文本文件?,javascript,html,Javascript,Html,我有一个,它以“[time][username]:message的格式接收来自用户的消息 我正在尝试将此div的内容下载到文本文件中。我所做的工作很有效,但是下载的内容看起来像“19:27:05Bob:hey”。它还显示其中的另一个div 我怎么能在下载时忽略这些标记,让每一条单独的消息单独出现在一行上,就像我呈现HTML本身时出现的那样 例如: 19:27:05鲍勃:嘿19:30:00彼得:你好吗 script.js: var downClick = document.getElementBy

我有一个
,它以“[time][username]:message的格式接收来自用户的消息

我正在尝试将此div的内容下载到文本文件中。我所做的工作很有效,但是下载的内容看起来像“
19:27:05Bob:hey

”。它还显示其中的另一个div

我怎么能在下载时忽略这些标记,让每一条单独的消息单独出现在一行上,就像我呈现HTML本身时出现的那样

例如: 19:27:05鲍勃:嘿

19:30:00彼得:你好吗

script.js:

var downClick = document.getElementById('download');

downClick.addEventListener('click', function(){
    downloadInnerHtml(fileName, 'chat','text/html');
})

function downloadInnerHtml(filename, elId, mimeType) {
    var elHtml = document.getElementById(elId).innerHTML;
    var link = document.createElement('a');
    mimeType = mimeType || 'text/plain';

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

var fileName =  'chat history.txt';
HTML:


您正在查找元素中的文本,但选择的是HTML

要仅获取元素及其所有子体中的文本,请使用

从MDC web文档:

HtmleElement接口的innerText属性表示节点及其子体的“呈现”文本内容。作为一个getter,如果用户用光标突出显示元素的内容,然后将其复制到剪贴板,则它近似于用户将获得的文本


更改
var elHtml=document.getElementById(elId).innerHTML
to
var elHtml=document.getElementById(elId).innerText成功了,谢谢。
<div id="chat" class="chat">
   <div class="istyping" id="istyping"></div>
</div>