Node.js筆記(十)Nodejs與DOM操作,node.jsnodejs

來源:互聯網
上載者:User

Node.js筆記(十)Nodejs與DOM操作,node.jsnodejs

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

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.