Questo è difficile, perché il testo è in un nodo di testo e jQuery non supporta i nodi di testo, solo gli elementi. Anche perché i diversi browser trattano lo spazio bianco nel codice HTML in modo diverso, così si finisce con diversi gruppi di nodi in diversi browser. Non puoi semplicemente ottenere i nodi e fare affidamento sul fatto che il nodo di testo che desideri sia sempre nello stesso indice.
È possibile utilizzare jQuery per individuare un elemento e utilizzare il DOM per ottenere tutti i nodi al suo interno.
Esempio 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>
utilizzare jQuery per trovare il div, utilizzare [0]
per ottenere l'elemento DOM fuori l'oggetto jQuery, e la proprietà childNodes
per ottenere i suoi figli:
var nodes = $('#test')[0].childNodes;
Quindi puoi usare jQuery per scorrere i nodi per trovare il nodo che è l'elemento strong
:
var index;
$.each(nodes, function(i,e){
if (e.tagName == 'STRONG') {
index = i;
return false;
}
});
Ora è possibile utilizzare il DOM per ottenere il valore testo dal nodo successivo:
var text = nodes[index + 1].nodeValue;
tuo [tasso di risposta] (http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work) è piuttosto bassa, si dovrebbe cercare di segnare le risposte sulle domande che ho chiesto (anche se questo significa contrassegnare la * propria * risposta). – isNaN1247
possibile duplicato di [jQuery: using .text() per recuperare solo testo non annidato nei tag figlio] (http://stackoverflow.com/questions/3442394/jquery-using-text-to-retrieve-only-text-not -nested-in-child-tags) – 4imble