Search code examples
javascripthtmljqueryif-statementtext

changing text of element only when condition is fullfiled


I need to change text of <span data-testid="recapItemPrice">ZADARMO</span> from 'ZADARMO' to 'DOHODOU' only when there is text in parental element 'INDIVIDUÁLNA CENA PREPRAVY na vyžiadanie'

HTML is like this:

<strong data-testid="recapDeliveryMethod">                                                            
<span data-testid="recapItemPrice">ZADARMO</span>
INDIVIDUÁLNA CENA PREPRAVY na vyžiadanie</strong>

I tried this:

<script>
$(document).ready(function(){
if ( $("[data-testid=recapDeliveryMethod]").text() === "INDIVIDUÁLNA CENA PREPRAVY na vyžiadanie" ) {
    $("[data-testid=recapItemPrice]").text("DOHODOU");
}
});
</script>

I'm new to JavaScript / jQuery and will appreciate every advice.


Solution

  • For single text just check if the parents text content contains your search string:

    const $child = $("[data-testid=recapItemPrice]");
    
    if ($child.parent().text().includes("INDIVIDUÁLNA CENA PREPRAVY na vyžiadanie")) {
      $child.text("DOHODOU");
    }