0

怎么保存jquery操作dom的结果到文件?

比如,有个demo.html文件

<div class="container">
    <div class="card" data-category="fruit">
        <div class="card-body">
            <a href="#" class="card-link">香蕉</a>
            <a href="#" class="card-link">苹果</a>
        </div>
    </div>
    <div class="card" data-category="sport">
        <div class="card-body">
            <a href="#" class="card-link">篮球</a>
            <a href="#" class="card-link">足球</a>
        </div>
    </div>
</div>

用jquery可以得到每个.card的html:

<script>
    $(function () {
        $('.card').each(function(){
            var html=$(this).html();
            console.log(html);
        })
    });
</script>

问题:
我想把得到的每个.card的html保存为单独的文件,文件取名:

//文件名是属性`data-category`的值
fruit.html
sport.html

可是浏览器环境不能操作文件,所以不能保存成文件。
用node.js来做运行环境,jquery能运行吗?
要保存成文件应该怎么做呢?

查看全部 4 个回答

2

如是,尝试一下。原理就是,拿到不同的html片段去生成不同名称的下载文件。名称我暂时直接使用download,你可以替换。

<script>
    $(function () {
        $('.card').each(function(){
            var content = $(this).html(),
                aTag = document.createElement('a'),
                blob = new Blob([content]);
            aTag.download = 'download.html';
            aTag.href = URL.createObjectURL(blob);
            aTag.click();
            URL.revokeObjectURL(blob);
        })
    });
</script>