У меня есть эта структура данных и вы хотите изменить содержимое всех моих элементов списка внутри моей ul.jQuery выбрать все элементы списка
<ul class="comments-holder">
<li class="single-comment-holder">
<div class="comment-body">
<div class="comment-text">
Some Text
</div>
</div>
</li>
<li class="single-comment-holder">
<div class="comment-body">
<div class="comment-text">
Some Text
</div>
</div>
</li>
</ul>
Я знаю, что есть команда каждого() в JQuery, но я не знаю, как использовать его в моем контексте. Я работаю со сценарием, который сокращает тексты для меня, если они слишком длинны, и добавьте кнопку «Показать больше», чтобы расширить текст. Пример, который у меня есть, таков:
<div class="comment">
This is a long comment text.
This is a long comment text.
This is a long comment text.
This is a long comment text.
</div>
<script type="text/javascript">
$(document).ready(function() {
$(".comment").shorten();
});
</script>
Вопрос теперь в том, как именно каждая работа работает? Я думал об использовании его вот так: $(".ul.comments-holder .li.single-comment-holder .comment-body .comment-text").each(shorten(););
, но он вообще не работает. Все использование каждого, что я нашел, было в форме ...each(function(){})
, так что даже можно использовать его, как мне нужно?
Так просто, чтобы понять синтаксис немного лучше, если я использую '$ укоротить();' это будет выглядеть («комментарий-текст.»). над всей моей страницей для элементов с 'class =" comment-text "и использовать функцию с ней? – user2747192
@ user2747192 Да, будет. Но только F.Y.I. '$ (" ul.comments-holder li.single-comment-holder .comment-body .comment-text ")' также будет делать то же самое, поскольку jQuerry Sizzle Engine синтаксические сериализаторы справа налево. –