jQuery:如何选择输入祖先的标签

时间:2019-05-30 11:29:40

标签: javascript jquery html

我有以下HTML:

<div class="control-group">
  <label class="control-label-sub">Description/Pack Size</label>
  <div class="controls">
    <input type="text" name="packetSize" class="wfinput required form_error" id="packetSize" />
    <label id="packetSize-error" class="form_error" for="packetSize">
      This field is required.
    </label>
  </div>
</div>

是否有一种方法可以从<label>文本字段中选择.control-group的子元素<input />(即带有“ Description / Pack Size”文本的元素)在我的HTML中?

2 个答案:

答案 0 :(得分:0)

要选择<label>元素上方的<input/>元素,您可以:

  1. 首先使用.closest()选择.control-group元素上方的第一个<input/>,然后
  2. 选择该.control-group的第一个子标签

这可以通过以下jQuery脚本实现:

const input = $('input[name="packetSize"]');

const controlGroup = input.closest('.control-group');

const label = $('label', controlGroup);

可以将其压缩为一行,但是为了清楚起见,我将其分为多个步骤。希望有帮助。

答案 1 :(得分:0)

如果要获取所有标签,则将该类命名为“ control-label-sub”。

var element = $("label.control-label-sub")

如果您只想获得该标签,我希望关注

var element = $("input#packetSize").parent().prev()