Я написал функцию с использованием jquery, чтобы развернуть и свернуть текст. На странице есть несколько экземпляров, где это необходимо применить, но при использовании этой функции все экземпляры изменяются при нажатии на тег привязки. Я хочу, чтобы он был применен только для пункта, на который он нажал.Применить функцию в jquery
(function expand() {
$('.expanded').hide();
$(".more, .less").click(function() {
$(".expanded, .more").toggle();
});
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div class="collapsed">"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostru<a href="#" class="more">Read more</a>
</div>
<div class="expanded">pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." <a href="#" class="less">Read less</a>
</div>
<br>
<br>
<br>
<div class="collapsed">"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostru<a href="#" class="more">Read more</a>
</div>
<div class="expanded">pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." <a href="#" class="less">Read less</a>
</div>
Ther e не является основанием для добавления этого события в функцию. Вы должны поместить hide() внутри события клика перед переключением, а также добавить prevenDefault, поскольку это неиспользуемый тег привязки. – freaky
Работали как очарование! Спасибо. – Sandeep
@freaky - я добавил 'preventDefault()'. IIFE - это то, что было у OP (по какой-то причине), поэтому я его не удалял. – jfriend00