Javascript 如何找到某个最近的嵌套<;选择>;从另一个分区内
我的表格结构如下:Javascript 如何找到某个最近的嵌套<;选择>;从另一个分区内,javascript,jquery,Javascript,Jquery,我的表格结构如下: <div class='full'> <div class='half'> <label>Book</label> <select class='collection_ID'> <option></option> <option value="1">Geen leuk boek / € <span>14.5
<div class='full'>
<div class='half'>
<label>Book</label>
<select class='collection_ID'>
<option></option>
<option value="1">Geen leuk boek / € <span>14.50</span></option>
<option value="2">Cool boek! / € <span>24.50</span></option>
</select>
</div>
<div class='half'>
<label>Find a book</label>
<input type='text' class='invoke_search'>
</div>
</div>
<button class='clone'>Another Book</button>
它位于.live()事件侦听器上(或者以您所称的方式),因为“克隆”按钮将创建..的副本/克隆。。因此,用户可以向表单中添加更多书籍,这也意味着我不能在上使用唯一ID,因为用户必须在单个选项中搜索,而不是在每个选择中搜索
现在来回答我的问题,以下部分是硬编码的:
var haystack = $(this).parent().parent().find('select').children();
因此,我正在寻找一种使用以下内容的方法:
$(this).closest('select');
好像我的表单结构看起来像:
<div class='full'>
<label>Book</label>
<select class='collection_ID'>
<option></option>
<option value="1">Geen leuk boek / € <span>14.50</span></option>
<option value="2">Cool boek! / € <span>24.50</span></option>
</select>
<label>Find a book</label>
<input type='text' class='invoke_search'>
</div>
书
吉恩-卢克-波克/欧元;14.50
酷酷的boek!/&欧元24.50
找一本书
这会使样式设置变得非常困难,那么有没有一种方法可以以某种智能的方式使用.closest()或.find()而不是“硬编码”parent().parent().find()
提前感谢如果总是有一个包装器,那么这可能会起作用:
var $select = $(this).closest('.full').find('select');
你只需要一些既包含你的
又包含
的东西,这些东西可以使用选择器轻松识别,然后将选择器交给你以找到起点。谢谢,我会接受这一点(但需要等待5分钟:o)我觉得很傻lol:D@Tessmore:dumb+learning=less\u dumb
,有时“隧道视觉”被误认为是“愚蠢的”,我们都患有隧道视觉。这是一个非常详细的问题。这使得专家很容易回答。
<div class='full'>
<label>Book</label>
<select class='collection_ID'>
<option></option>
<option value="1">Geen leuk boek / € <span>14.50</span></option>
<option value="2">Cool boek! / € <span>24.50</span></option>
</select>
<label>Find a book</label>
<input type='text' class='invoke_search'>
</div>
var $select = $(this).closest('.full').find('select');