Esto es complicado, porque el texto está en un nodo de texto, y jQuery no admite nodos de texto, solo elementos. También porque diferentes navegadores tratan el espacio en blanco en el código HTML de manera diferente, por lo que terminas con diferentes conjuntos de nodos en diferentes navegadores. No puede obtener los nodos y confiar en que el nodo de texto que desea está en el mismo índice todo el tiempo.
Puede usar jQuery para localizar un elemento y usar el DOM para obtener todos los nodos.
Ejemplo HTML:
<div id="test">
<strong>1)</strong>
TEXT THAT I ONLY NEED
<p>some par</p>
<ul>
<li>asdf</li>
<li>qwerty</li>
</ul>
</div>
Uso de jQuery para encontrar el div, utilice [0]
para obtener el elemento DOM fuera del objeto jQuery, y la propiedad childNodes
para conseguir sus hijos:
var nodes = $('#test')[0].childNodes;
Luego puede usar jQuery para recorrer los nodos para encontrar el nodo que es el elemento strong
:
var index;
$.each(nodes, function(i,e){
if (e.tagName == 'STRONG') {
index = i;
return false;
}
});
Ahora puede utilizar el DOM para obtener el valor de texto desde el nodo siguiente:
var text = nodes[index + 1].nodeValue;
su [tasa de respuesta] (http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work) es bastante baja, usted debe buscar para marcar las respuestas en las preguntas que He preguntado (incluso si eso significa marcar su * propia * respuesta). – isNaN1247
posible duplicado de [jQuery: utilizando .text() para recuperar solo texto no anidado en etiquetas secundarias] (http://stackoverflow.com/questions/3442394/jquery-using-text-to-retrieve-only-text-not -nested-in-child-tags) – 4imble