2016-02-20 2 views
-1

Я бы хотел сократить текст и добавить ссылку «Подробнее» по ссылке.Добавить атрибут ссылки с помощью jQuery

Примера код HTML:

<article id="post-58" class="post-58 post type-post status-publish format-standard hentry category-2"> 

    <header class="entry-header"> 
     <h2 class="entry-title"> 
      <a href="http://www.example.com/archives/58" rel="bookmark"> 
       Title Here 
      </a> 
     </h2> 
    </header> 
    <!-- .entry-header --> 

    <div class="entry-content"> 
     <p>Content text here</p> 
     <p>Content text here</p> 
     <p>Content text here</p> 
     <p>Content text here</p> 
    </div><!-- .entry-content --> 
</article> 
<article id="post-57" class="post-57 post type-post status-publish format-standard hentry category-2"> 

    <header class="entry-header"> 
     <h2 class="entry-title"> 
      <a href="http://www.example.com/archives/57" rel="bookmark"> 
       Title Here 
      </a> 
     </h2> 
    </header> 
    <!-- .entry-header --> 

    <div class="entry-content"> 
     <p>Content text here</p> 
     <p>Content text here</p> 
     <p>Content text here</p> 
     <p>Content text here</p> 
    </div><!-- .entry-content --> 
</article> 

Я хочу, чтобы изменить длину ввода контента до 175 символов и добавить «Считыватель Больше» ссылка которого необходимо выдернуть из href атрибута под «начальным названием» класс ,

Я попробовал следующий сценарий:

$("body.blog .entry-content").text(function(index, currentText) { 
    return currentText.substr(0, 175)+'...'; 
    $(this).append('<a class="readmore">Read More</a>'); 
    var lnk = $(this).parent('article').children('.entry-header a').attr('href'); 
    $('a.readmore', this).attr('href', lnk); 
}); 

содержание будет сокращен, но он не добавляет «Подробнее» ...

Как я могу исправить сценарий?

Спасибо.

+0

вы возвращаете сразу. –

+0

@ Daniel. Спасибо за ваш комментарий. – Peter

ответ

0

Перемещение эта линия

return currentText.substr(0, 175)+'...'; 

к нижней части функции. Возврат завершает выполнение функции, а остальная часть вашего кода не проходит мимо этого.

Ваша функция становится:

$("body.blog .entry-content").text(function(index, currentText) { 
    $(this).append('<a class="readmore">Read More</a>'); 
    var lnk = $(this).parent('article').children('.entry-header a').attr('href'); 
    $('a.readmore', this).attr('href', lnk); 
    return currentText.substr(0, 175)+'...'; 
}); 
+0

Большое спасибо. Я попробую код, который вы предложили. – Peter

Смежные вопросы