1

我有一个文本块,我想更改为 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);
      })
4

2 回答 2

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 示例

于 2013-02-06T17:14:52.027 回答
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 );

});
于 2013-02-06T17:23:24.073 回答