Если такой контент есть, добавьте его в следующий элемент

#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 может сделать это более надежным.