2016-04-14 85 views
0

我有一個像NPM cheerio - ID添加到列表元素

<ul> 
    <li>Name1</li> 
    <li>Name2 </li> 
</ul> 

使用NPM cheerio如何添加每個列表元素文本小寫標識元素本身的列表?

那麼帶來的將是

<ul> 
    <li id="name1">Name1</li> 
    <li id="name2">Name2 </li> 
</ul> 

目前我添加使用

var cheerio = require('cheerio'), 
    $ = cheerio.load('<ul><li>Hello world</li></ul>'); 

$('li').attr('id', 'new-id') 

console.log($.html()) 

感謝

+0

你可以使用循環wh循環的長度將是您的無序列表中的項目數量使用一點javascript – jmugz3

+0

我正在服務器端抓取一些從MD文件生成的HTML .. –

+1

cheerio有一個[每個方法](https:/ /www.npmjs.com/package/cheerio#each-functionindex-element-)您可以使用,並且在您的回調中,您可以使用[.attr()](https://www.npmjs .com/package/cheerio#attr-name-value-),其中包含名稱中的數字 – jmugz3

回答

1

這應該做的伎倆靜態ID ..

$('li').each(function(i, elem) { 

     $(this).attr('id', $(this).text().toLowerCase().replace(/\s/g, '')); 

    })