este es el código html y javascript que estaba tratando de crear para obtener el valor dentro de la última etiqueta de intervalo:
var value2=$('#jsVal span .EmbeddedMiniatureVisualization')[0]; console.log(value2)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="jsVal"> <span id="36eb3c8a1503436b8b0a79ce1758d05a" style=""> <span id="89e56665-5959-4e67-8fb8-83ca7cef9965" viewid="89e56665-5959-4e67-8fb8-83ca7cef9965" class="EmbeddedMiniatureVisualization" sf-busy="false" style="position: relative; margin: 0px; padding: 0px; border: 0px; overflow: hidden;"> <span style="color: rgb(79, 79, 79); text-align: right;">53338060787</span> </span> </span> </div>
Desde las herramientas de desarrollo, veo que devuelve esto:
<span id="89e56665-5959-4e67-8fb8-83ca7cef9965" viewid="89e56665-5959-4e67-8fb8-83ca7cef9965" class="EmbeddedMiniatureVisualization" sf-busy="false" style="position: relative; margin: 0px; padding: 0px; border: 0px; overflow: hidden;"> <span style="color: rgb(79, 79, 79); text-align: right;">53338060787</span> </span>
Entonces, a partir de esto, ¿cómo puedo obtener el texto dentro del intervalo? ¿Hay una manera más directa?
Intenté esto:
var value=$('div#jsVal span span.EmbeddedMiniatureVisualization span').text().trim();
pero obtengo valor nulo...
Podrías preguntar por el último elemento que no tiene un hijo, en cualquier momento... así que desde arriba
$("#jsVal :not(:has(*))").text();
o desde cualquier lugar debajo
$("#jsVal span.EmbeddedMiniatureVisualization :not(:has(*))").text();
Apunte al nivel más alto en el que pueda garantizar que es lo que desea, por identificación o clase
Puede usar el código Find Like que se proporciona a continuación
//var val=$("#jsVal .EmbeddedMiniatureVisualization").find("span").text(); //var val = $("#jsVal .EmbeddedMiniatureVisualization span")[0].innerHTML // you can also use this //var val =$($("#jsVal .EmbeddedMiniatureVisualization span")[0]).text() //you can also use this var val=document.querySelector("#jsVal .EmbeddedMiniatureVisualization span:nth-child(1)").textContent; // for javascript console.log(val)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="jsVal"> <span id="36eb3c8a1503436b8b0a79ce1758d05a" style=""> <span id="89e56665-5959-4e67-8fb8-83ca7cef9965" viewid="89e56665-5959-4e67-8fb8-83ca7cef9965" class="EmbeddedMiniatureVisualization" sf-busy="false" style="position: relative; margin: 0px; padding: 0px; border: 0px; overflow: hidden;"> <span style="color: rgb(79, 79, 79); text-align: right;">53338060787</span> </span> </span> </div>
Porque no estás completando yendo al elemento que quieres en formato de texto. Sugiero profundizar y aplicar texto a cada elemento, entonces solo funcionará.
Vea en la imagen que obtengo dos a=output
diferentes para cada consulta casi igual:
El primer resultado que obtengo es una lista de valores nan
El segundo resultado que obtengo es la lista de elementos que quiero.
Vea mi archivo ipynb
para su referencia si lo desea. Aqui esta el link