Вы должны убедиться, что вы отслеживаете, какие переменные содержат HTMLCollection / NodeList, а какие являются jQuery объектами; потому что это изменит методы, к которым у вас есть доступ.
jQuery .find()
вызывается из jQuery объекта, и вы используете его в NodeList; поэтому вместо jQuery find()
вы пытаетесь использовать Javascript .find()
Для этого есть два подхода, если вы желая использовать jQuery методы или Javascript методы
Для jQuery создайте объект jQuery, заключив в него $( )
, и затем вы сможете получить доступ к нужным методам - используйте .find()
для возврата соответствующего элемента (все еще как jQuery Object) и .text()
для изменения текста этого элемента
For Javascript, вы можете использовать .querySelector()
из вашего элемента NodeList, чтобы выбрать вниз, а затем отредактировать свойство .textContent
, чтобы вставить нужный текст
const dishNodeList = Array.from(document.querySelectorAll('.one-dish-row'));
// jQuery
$(dishNodeList[1]).find('h4').text('Hello I am Ghadir');
// JavaScript
dishNodeList[1].querySelector('h4').textContent = 'Hello I am Ghadir';
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row one-dish-row dish1">
<div class="dishes-container">
<h4>Falafel</h4>
<p></p>
</div>
<div class="prices-container">
<h5></h5>L.L.
</div>
</div>
<div class="row one-dish-row dish2">
<div class="dishes-container">
<h4>Falafel</h4>
<p></p>
</div>
<div class="prices-container">
<h5></h5>L.L.
</div>
</div>
<div class="row one-dish-row dish3">
<div class="dishes-container">
<h4>Falafel</h4>
<p></p>
</div>
<div class="prices-container">
<h5></h5>L.L.
</div>
</div>