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 回答