我有下一个结构:
<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');
以上许多其他组合无济于事。
请帮忙!
答案 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')
这应该有效