我在表单上有一个动态生成的文本区域。我想要做的是找到最近的(最近的$(this)
应该适用于我的功能,前提是下方的兄弟姐妹被认为距离更远)空白一个,其中将放置一些内容
目前它指定了一个特定的一个,因此:
var $poorarea = $('textarea#doc_edits_attributes_0_body');
但是要使功能起作用,它需要像(非常伪代码):
var $poorarea = $(this).closest('textarea.editable_areas').empty();
任何帮助都会很棒。 jQuery中的父/子东西在最好的时候让我很困惑。至关重要的是它找到最近的空白。
简化的HTML在这里:
<div class="controls">
<div id="preview_article" class="thumbnail">
<ul class="thumbnails" id="sort_articles">
<li class="span5">
<input class="article_chooser" id="doc_article_ids_" name="doc[article_ids][]" type="checkbox" value="23" />
</li>
<li class="span5">
<input class="article_chooser" id="doc_article_ids_" name="doc[article_ids][]" type="checkbox" value="24" />
</li>
<li class="span5">
<input class="article_chooser" id="doc_article_ids_" name="doc[article_ids][]" type="checkbox" value="26" />
</li>
<li class="span5">
<input class="article_chooser" id="doc_article_ids_" name="doc[article_ids][]" type="checkbox" value="27" />
</li>
<li class="span5">
<input class="article_chooser" id="doc_article_ids_" name="doc[article_ids][]" type="checkbox" value="28" />
</li>
</ul>
</div>
</div>
<div class="control-group">
<div class="controls">
<div class="tab-content">
<textarea class="editable_areas" id="doc_edits_attributes_0_body" name="doc[edits_attributes][0][body]"></textarea>
<textarea class="editable_areas" id="doc_edits_attributes_1_body" name="doc[edits_attributes][1][body]"></textarea>
<textarea class="editable_areas" id="doc_edits_attributes_2_body" name="doc[edits_attributes][2][body]"></textarea>
</div>
</div>
</div>
感谢您的帮助!
答案 0 :(得分:0)
在jQuery代码中使用pseudo-selector eq,它从元素数组中选择给定的索引,并通过for循环运行。
for(i = 0; i < $(".tab-content").children("textarea").length; i++){
if($(".tab-content").children("textarea:eq(" + i + ")").val() == ''){
//do whatever you need to do
break;
}
}