#jquery
Вопрос:
Я проверяю содержимое и хочу добавить кнопку справа от кнопки.
Следуя моему коду:
jQuery(document).ready(function(){ jQuery('.btn-click').click(function(){ $("p:contains(Test 2)").find('.view').append('lt;buttongt;View-2lt;/buttongt;'); }); });
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;button class="btn-click"gt;Click Melt;/buttongt; lt;pgt;Test 1lt;/pgt; lt;button class="view"gt;Viewlt;/buttongt; lt;pgt;Test 2lt;/pgt; lt;button class="view"gt;Viewlt;/buttongt; lt;pgt;Test 3lt;/pgt; lt;button class="view"gt;Viewlt;/buttongt;
Ответ №1:
Так button
как это не ваше дитя p
, то вы должны использовать .next('.view')
и не .find('.view')
ДЕМОНСТРАЦИЯ
jQuery(document).ready(function() { jQuery('.btn-click').click(function() { $("p:contains(Test 2)").parent().find('.view').append('lt;buttongt;View-2lt;/buttongt;'); }); });
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;button class="btn-click"gt;Click Melt;/buttongt; lt;divgt; lt;pgt;Test 1lt;/pgt; lt;spangt;Test Spanlt;/spangt; lt;button class="view"gt;Viewlt;/buttongt; lt;/divgt; lt;divgt; lt;pgt;Test 2lt;/pgt; lt;spangt;Test Spanlt;/spangt; lt;button class="view"gt;Viewlt;/buttongt; lt;/divgt; lt;divgt; lt;pgt;Test 3lt;/pgt; lt;spangt;Test Spanlt;/spangt; lt;button class="view"gt;Viewlt;/buttongt; lt;/divgt;
Комментарии:
1. lt;pgt;Тест 1lt;pgt;lt;/pgt; lt;/pgt;lt;spangt;Тестовый интервалlt;/spangt; lt;класс кнопки=»просмотр»gt;Просмотрlt;класс кнопки=»просмотр»gt;lt;/кнопкаgt; итак, если между ними есть html-тег, как я могу добавить его в конце? Извините, что задал неправильный вопрос 😀
2. @JFeel Я обновил демо-версию, я бы завернул ваш p,span и кнопку в тег div и использовал демо — код
3.
.nextAll(".view").first()
если вы хотите найти «следующий», который не является ближайшим следующим, но изменение вашего html может сделать это более надежным.