Индивидуальный jquery эффект для каждой записи

Решил сделать на главной странице для топиков кнопку с функцией от jquery toggle, которая будет раскрывать краткое содержимое топика (по умолчанию содержимое скрыто). Но возникла проблема, что когда нажимаю на кнопку — она раскрывает не один топик, а все топики на странице — логично, ведь в скрипте прописано, раскрывать то что находится между определенных тегов, которые есть в каждом топике.
В этом примере этот тег — это («p») — то есть :
<script>
$("button").click(function () {
$("p").toggle();
});
</script>


Пытался запустить в этом скрипте функцию от ls, которая выводит id топика — думал, в каждом топике сделать свой скрипт, в котором в конце тега будет окончание с ID записи, но эта функция в скрипте не работает, а выводит в исходный код прямо код функции.
Здесь то как я это пытался сделать:
<script>
$("button").click(function () {
$("p{$oTopic->getId()}").toggle();
});
</script>

То есть — я вставил функцию {$oTopic->getId()} и она прямо так и выводится в исходном коде на сайте — не работает. Я думал поместить краткое содержимое топика в следующий тег: <p{$oTopic->getId()}></p{$oTopic->getId()}> — то есть <pidтопика></pidтопика>

Помогите пожалуйста придумать решение этой проблемы. На pikabu.ru есть такие же кнопки в каждой новости — подобное я и хочу реализовать. Может есть другие способы?

2 комментария

avatar
Решил сделать на главной странице для топиков кнопку с функцией от jquery toggle, которая будет раскрывать краткое содержимое топика (по умолчанию содержимое скрыто).
Где это по умолчанию оно скрыто?

И если вы о загрузке полного текста топика, то уже есть такой плагин — поищите в каталоге.
avatar
Скорее что-то такое вам надо написать, при условии, что и текст и кнопка находятся в одном блоке '.parent'

<script>
$("button").click(function () {
$(this).parent('.parent').find('p').slideToggle();
});
</script>
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.