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 セレクターを探します。

これを試してみてください。元の要素の idoriginal

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 に答える