Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

178
Visualizações
cómo verificar si un elemento html tiene cierto texto con javascript

Tengo una etiqueta html p como se muestra a continuación

 <p class="card-about-bambo-number card-aboot-mahagany-number">0 <spam>left</spam></p>

También tengo un botón que me gustaría desactivar cuando la etiqueta p tiene un 0 en.

He intentado hacer esto tanto en JavaScript como en jquery.

Intenté usar include pero esto no funcionó, también intenté usar contains.

Aquí está el código que he cansado.

 $(document).ready(() => { if ($(".card-about-mahagany-number:contains('0')")) { $('.btn-about-mahagany').attr('disabled', 'disabled'); $('.card-about-mahagany-body').addClass('card-zero'); } }); const numberText = document.getElementsByClassName('card-aboot-mahagany-number'); const buttonOut = document.getElementsByClassName('btn-about-mahagany'); //buttonOut.disabled = true; if (numberText.textContent.includes('0')) { buttonOut.disabled = true; }
 <p class="card-about-bambo-number card-aboot-mahagany-number">0 <spam>left</spam></p> <button class="btn btn-select btn-about-mahagany btn-primary" disabled="false">Out of Stock</button>

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

document.getElementsByClassName devuelve un objeto similar a una matriz de los elementos con esa clase.

Prueba esto:

 for (let i = 0; i < numberText.length; i++) { if (numberText[i].textContent.includes("0")) { for (let i = 0; i < buttonOut.length; i++) { buttonOut[i].disabled = true; } } }
about 4 years ago · Juan Pablo Isaza Relatório

0

Primero, cambiemos de <spam> a <span> .

En segundo lugar, tratamos de crear un código simple para una sola tarjeta. En este caso, si cambia el valor de 0 a 1, verá el botón. Si cambia el valor de 1 a 0, el botón no aparecerá cuando lo ejecute.

 $(document).ready(() => { console.log('document ready'); let card = $('p.card-about-bambo-number'); console.log(card.text()); let value = +card.text().replace(/\D+/g, ""); console.log('value: ', value); console.log('value type: ', typeof(value)); $('#btn').toggle(value > 0); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <p class="card-about-bambo-number card-aboot-mahagany-number">0 <span>left</span></p> <button id="btn">Button</button>

Tercero, modifiquemos esto para que funcione con más de una tarjeta:

 $(document).ready(() => { let cards = $('p.card-about-bambo-number'); cards.each(function() { let card = $(this); let value = +card.text().replace(/\D+/g, ""); card.next('#btn').toggle(value > 0); }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <p class="card-about-bambo-number card-aboot-mahagany-number">0 <span>left</span></p> <button id="btn">Button</button> <hr/> <p class="card-about-bambo-number card-aboot-mahagany-number">1 <span>left</span></p> <button id="btn">Button</button>

Usando la clase card-about-bambo-number , iteraremos a lo largo de todos los elementos que tienen esa clase.

Para cada tarjeta, usaremos el método text para extraer el texto, luego usamos la expresión regular para eliminar cualquier cosa que no sea un dígito, luego convertimos el número de una cadena a un número usando + delante (un "truco de javascript "), y con eso obtenemos el número.

Finalmente, indicamos que quiere el hermano más cercano a ese elemento que contiene dicha clase, para alternar (mostrar/ocultar) dependiendo si el valor es mayor que cero.

Espero que esto ayude.

about 4 years ago · Juan Pablo Isaza Relatório

0

el contenido del texto debe ser HTML interno

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda