обернуть каждый текстовый блок определенной длины в свой собственный div, используя JavaScript - PullRequest
0 голосов
/ 29 марта 2012

Я бы хотел обернуть блок текста в div так, чтобы у каждого div было одинаковое количество символов.Цель состоит в том, чтобы создать элементы div, которые можно нажимать между одинаковыми страницами книги, например, нумерацией страниц.У меня возникли проблемы с оператором each (), чтобы обернуть каждый сегмент текстового блока в отдельный div одинаковой длины.

Jere - код, который работает для одного div, но еще не работает для создания нескольких div:

HTML:

<div id="content">hi my name is joe. I work at a school.</div>
<div id="count"></div>
<button>wrap</button>

javaScript:

$('button').on('click', function(){ 
  var content=$('#content').text();
  $('#count').text(content.length);        
  /*   var length20; //20 character long text block
    if(content.length>=20);
      $.each(length20, function(){
    length20.wrap('<div class="new" />');   
    }            
 */ 
});

вот скрипка , если вы хотите редактировать код напрямую.

Если кто-то сможет отредактировать эту скрипку, чтобы исправить ее выражение each(), я бы оченьпризнателен.

1 Ответ

1 голос
/ 29 марта 2012

Попробуйте что-то вроде этого:

$('button').on('click', function(){ 
     var content=$('#content').text();
     //'5'-length blocks
     var parts = content.match(/.{1,5}/g);
     $('#count').text(parts.length);   
     $.each( parts, function( index, part ){
        $("body").append ('<div class="New">'+part+'</div>')
     });
});​
...