Tengo problemas sobre cómo encontrar un elemento html específico cuando tengo una palabra clave:
...
<div class="col-sm-6 col-md-6 col-lg-4"> <div class="ct-itemProducts ct-u-marginBottom20" > <div class="ct-main-content"> <div class="ct-main-text" > <div class="ct-product--tilte"> COMPUTIME </div> ...
mi palabra clave es COMPUTIME y quiero detectar className de este div
<div class="col-sm-6 col-md-6 col-lg-4">
Puedes probar esto con JavaScript:
for (const a of document.querySelectorAll(".ct-product--tilte")) { if (a.textContent.includes("COMPUTIME")) { console.log(a.textContent) } }
EDITAR: según tengo entendido, desea obtener la clase de elemento buscando en el TEXTO en su div, luego puede intentar algo como esto:
var allElement = document.querySelectorAll('*'); var myElement = null; var valueToSearch = "COMPUTIME"; allElement.forEach(el => { if(el.innerHTML.trim() === valueToSearch) { myElement = el; } }) console.log(myElement) // My element HTML console.log(myElement.className) // My Class console.log(myElement.id) // My id var parentSearching = true; while(parentSearching) { myElement = myElement.parentElement; if (myElement.className.includes('col')) { parentSearching = true; break; } } console.log(myElement.className); // col-sm-6 col-md-6 col-lg-4
<div class="col-sm-6 col-md-6 col-lg-4"> <div class="ct-itemProducts ct-u-marginBottom20" > <div class="ct-main-content"> <div class="ct-main-text" > <div class="ct-product--tilte"> COMPUTIME </div> </div> </div> </div> </div>
No entendí su pregunta, pero si desea detectar/acceder a cualquier clase en CSS, use "." antes del nombre de la clase como ".col-sm-6 col-md-6 col-lg-4" y para la identificación use "#" como "#col-sm-6 col-md-6 col-lg-4"