获取上一个选择标记的ID

时间:2017-07-05 16:15:28

标签: javascript jquery

我有下一个结构:

<div class="input_fields_wrap">
  <div class="row">
    <select id="house-1-room-1"><?php echo $options; ?></select>
    <input type='text' class='name' name='house-1-room-size-1' placeholder='Room Size'>
  </div>
</div>
<button class="add_field_button">Add Another Room</button>

点击add_field_button后,我正在尝试获取之前select标记的ID,在我的情况下,使用jquery(或vanila js)为house-1-room-1

我试过了:

$(this).parent().prev("select").attr('id');

$(this).prev("div").closest("select").attr('id');

以上许多其他组合无济于事。

请帮忙!

3 个答案:

答案 0 :(得分:3)

使用:

$(this).prev("div").find("select").attr('id');

.closest()在DOM层次结构中 up find()搜索 down 层次结构。

答案 1 :(得分:1)

需要使用find()

$(this).prev("div").find("select").attr('id');

.closest()是相反的,从下到上。虽然.find()将从层次结构中的当前位置开始。

答案 2 :(得分:1)

找到上一个元素并在该

中找到select标签
$(this).prev().find('select').attr('id')

这应该有效

这是一个小提琴https://jsfiddle.net/fxabnk4o/3/