获取没有子输入的标签文本

Getting the text of a label without a child input

给定一个 HTML:

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

我想获取标签的文本内容("Occupation"),但不是别的。由于我已经在页面上使用了 jQuery,因此我决定尝试使用 jQuery 获取它。所以我尝试了以下:

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 

我在 this question 中尝试了一些其他变体,但所有变体都有相似的结果。

如何获取此标签的文本?

相关但没有回答我的问题: jQuery - select the associated label element of a input field

您可以使用 .text() 属性 这是代码

$(document).ready(function(){
  alert($("label").text());
});

示例 http://jsbin.com/dukokucuku/edit?html,js,output

我想这就是您要找的:

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>

这将获取元素的文本和trim任何空格。