У меня есть куча абзацев внутри div, а одна из них имеет ссылку read_more. Все абзацы, которые появляются после ссылки read_more внутри одного и того же div, по умолчанию скрыты.Правильное добавление ссылок read_more/read_less в абзацы с использованием jquery
Когда READ_MORE нажата, она отображает все эти пункты, которые приходят после READ_MORE и добавляет read_less ссылку в конце последнего абзаца. Когда щелчок read_less щелкнут, он скрывает все абзацы до read_more, снова показывает ссылку read_more и прячется сам.
Я почти там, пожалуйста, посмотреть здесь: http://jsfiddle.net/g8tevwb1/
$('p').find('a.read_more').parent().nextAll().hide();
$('a.read_more').click(function(){
$(this).parent().nextAll().show();
$(this).parent().nextAll('p').last().append('<a href="#" class="read_less">read less</a>');
$(this).hide();
return false;
});
$('a.read_less').click(function(){
$(this).parent().prevUntil('a.read_more').hide();
$(this).hide();
return false;
});
Я просто не удается получить read_less работает. Я делаю что-то неправильно, добавляя ссылку read_less таким образом? Я могу манипулировать им, изменять цвета и т. Д., Но функция щелчка не работает.
Важно, чтобы все это происходило внутри div, в котором они содержатся, поскольку у меня есть другие абзацы внутри других div с другими кнопками read_more, и я не хочу, чтобы они были затронуты.
Любая помощь приветствуется!
Спасибо большое, я узнал довольно кое-что с этим, я не знаю, о '.on)' метода (для начала. О обратном вызове read_less, я не могу называть '(p.first)', поскольку ссылка read_more не обязательно будет в первом абзаце, поэтому я хотел использовать 'prevUntil ('a.read_more')' , но также добавляет класс 'first'. С другой стороны, я не могу избежать динамического добавления read_less, так как пользователь будет указывать только тег read_more, и мне нужно сделать расчет (где он начинается и где он заканчивается) в коде. – user2089160