jQuery - 从文本创建ul列表

时间:2013-02-06 17:08:30

标签: jquery html-lists

我有一段文字我想改成ul列表。 要确定文本会破坏的位置,我想我可以使用像/的字符 所以文字可能是。

    <p>
      /Red Car/Green Car/Black Car
    </p>

我需要一个这样的列表。

    <ul>
      <li>Red Car</li>
      <li>Green Car</li>
      <li>Black Car</li>
    </ul>

我一直在尝试这样做。

      $(function(){
        var list = '';
        $('.whatWeDo').find('=').each(function(){ //.whatWeDo id the <p>
            list += '<li>' + $(this).next() + '</li>';
        });
        var theList = $('ul').append(list);
        $('.whatWeDo').html(theList);
      })

2 个答案:

答案 0 :(得分:2)

试试这个:

var items = $('p').text().trim().split('/');
$('p').replaceWith('<ul>');
for (var i = 0; i < items.length; i++) {
    if(items[i].length >0) $('ul').append('<li>' + items[i] + '</li>');
}

<强> jsFiddle example

答案 1 :(得分:1)

.find()查找jQuery选择器,而不是文本。

尝试此操作,假装您的原始元素的ID为original

jQuery(function ($) {

    // Get your original list, and its text
    var $original = $('#original');
    var text = $original.text();

    // Split the text at every '/', putting the results into an array
    var listItems = text.split('/');

    // Set up a new list
    var $list = $('<ul></ul>');

    // Loop through the list array, adding an <li> for each list item
    listItems.each(function(item){
        $list.append('<li>' + item + '</li>');
    });

    // Replace the old element with the new list  
    $original.replaceWith( $list );

});