2017-08-31 2 views
0

Étant donné un code HTML suivant:Obtenir le texte d'une étiquette sans entrée enfant

<div class="checkbox"> 
    <label> 
    <input id="data_point_occupation" value="occupation" type="checkbox"> 
    Occupation 
    </label> 
</div> 

Je veux obtenir le contenu du texte de l'étiquette (« occupation »), mais rien d'autre. Comme j'utilise déjà jQuery sur la page, j'ai décidé d'essayer avec jQuery. J'ai donc essayé le ci-dessous:

var label = $("#data_point_occupation").parent("label").contents().get(0).nodeValue 
console.log(label) // outputs what looks like just white space 
console.log(label.length) // outputs 25 

J'ai essayé quelques autres variations de this question, mais tous avaient des résultats similaires.

Comment puis-je obtenir le texte de cette étiquette?

connexes, mais n'a pas répondu à ma question: jQuery - select the associated label element of a input field

Répondre

1

Je suppose que ce est ce que vous cherchez:

var label = $("#data_point_occupation").parent("label"); 
 
console.log(label.text().trim())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="checkbox"> 
 
    <label> 
 
    <input id="data_point_occupation" value="occupation" type="checkbox"> 
 
    Occupation 
 
    </label> 
 
</div>

Cela obtenir le texte de l'élément et couper les espaces blancs.