码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-07-28 18:35:58      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:node.js   cheerio   dom   

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操作

标签:node.js   cheerio   dom   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!