Estoy tratando de ocultar un div si otro div contiene una palabra específica.
Este es mi HTML
<div class="dynamic"> This text is hidden if another div contains the word "download" </div> <div class="something"> <div class="btn-download"> If this text has the word "download" the div with class "dynmaic" is hidden </div> </div>JS
jQuery(document).ready(function($){ if ( $('.btn-download').text() === 'download' ) { $('.dynamic').hide(); } });¿Qué estoy haciendo mal? ¿Y necesito jQuery para eso?
muchas muchas gracias de antemano
Si un texto en div contiene una palabra específica, puede usar el método include en la cadena ( $(selector).text().includes('your-text-search') )
if ( $('.btn-download').text().includes('download') ) { $('.dynamic').hide(); } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="dynamic"> This text is hidden if another div contains the word "download" </div> <div class="something"> <div class="btn-download"> If this text has the word "download" the div with class "dynmaic" is hidden </div> </div>Esto puede ayudar, no soy un experto pero trato de editar.
$(document).ready(function() { $("#dynamic").click(function() { var res = $('#dynamic').text(); if (res == "value") { var hide = document.getElementById("something"); hide.style.display = "none"; } }); });Su código de ejemplo necesita jQuery. Esta es una solución que utiliza ECMAScript 5 o anterior y jQuery.
jQuery(document).ready(function($){ if ( $('.btn-download').text().indexOf('download') !== -1) { $('.dynamic').hide(); } });Compruebe el violín https://jsfiddle.net/1sx39q6h/
Para jQuery + ECMAScript 6, tienes la solución de @jeremy-denis.