2

テキストのいくつかの文を含む段落を繰り返し処理し、各文の最初と最後に li タグを挿入するスクリプトを作成しようとしています。これは可能ですか?

では、この段落をめくって

<p>
   Give your work the edge with this pencil. Awesome design, and chunky gold finish. Get the look. 
</p>

この順序付けられていないリストに

<p>
  <ul>
    <li>
      Give your work the edge with this pencil.
    </li> 
    <li>
      Awesome design, and chunky gold finish. 
    </li>
    <li>
      Get the look. 
    </li>
  </ul>
</p>
4

3 に答える 3

5
$('p').each(function() {
  var $par = $(this),
      theText = $par.text().split('. ');
  $par.text('');
  $.each(theText, function(i, item) {
    if ($.trim(item).length > 0)
      $par.append('<li>' + item + '</li>');
  });
});

テストされていませんが、アイデアはわかります。分割してから配列を実行し、タグでラップします。

于 2012-08-20T15:51:36.803 に答える
2

はい、できます。まず最初に、すべての Tokenize段落に「.」を付ける必要があります。これにより、段落が別の文に分割され、間に li タグが追加されます。

コンテンツを p から ul に変更するには、このリンクを使用できます ::

http://api.jquery.com/replaceWith/

単一のパラを文にトークン化するには、これを使用できます:

http://www.tizag.com/javascriptT/javascript-string-split.php

于 2012-08-20T15:52:34.423 に答える
0

このようなことができます

$.each($(".my-content").text().split("."), function(index,item){  

     $(".my-ul").append($("<li/>").text(item));

});
于 2012-08-20T15:51:56.203 に答える