首页 > Web开发 > 详细

Node.js笔记(十)Nodejs与DOM操作

时间:2015-07-28 18:33:29      阅读:1613      评论:0      收藏:0      [点我收藏+]

Nodejs作为后端语言,直接进行DOM操作是违背分离原则的。
但如果是个人的小网站,稍微灵活一点也没有坏处不是。
这里介绍的是cheerio这个插件,是基于jquery实现并稍有精简,目的是为nodejs提供像jquery一样的dom操作
ps:本来jsdom也是一种选择,但可惜最新版本的jsdom不再支持nodejs

下面看一个例子:

//这个方法从filelist.txt里面读出文件名,将其添加到index.html中类为listselect的select标签下
function getFileList(){
    var content = fs.readFileSync(‘./index.html‘);
    $ = cheerio.load(content);

    $(‘select.listselect‘).empty();//避免重复,加载前先清空标签下所有子标签
    lineReader.eachLine(‘./filelist.txt‘,function(line,last){
    //lineReader是一个按行读取文件的nodejs插件,可自行安装
        var file = line.substr(line.lastIndexOf(‘ ‘)+1);
        $(‘select.listselect‘).append(‘<option class="listoption" value=‘+file+‘>‘+file+‘</option>‘);
    if(last){
        fs.writeFile("./index.html", $.html(),function(err){
            if(err) throw err;
            console.log("Saved");
        });
        return false;

    }
});

关于为什么会有

$ = cheerio.load(content);

这样的写法确实很让人纠结,必须是$这个符号不然就会出错,我个人理解成为了看起来和jquery里的选择器保持一致而特意这样写的

更多操作可以看
https://npmjs.org/package/cheerio
官方文档或者下面的翻译文档
https://cnodejs.org/topic/5203a71844e76d216a727d2e

版权声明:本文为博主原创文章,未经博主允许不得转载。

Node.js笔记(十)Nodejs与DOM操作

原文:http://blog.csdn.net/u010668495/article/details/47108631

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!