我在<td>
标记下有2个div:
// first
<td>
<div class="date">$row[11]</div>
</td>
<td class="status1">
<div class="question">
<form action="update.php" method="post" id="form-id" enctype="multipart/form-data">
<div class="recstatus">$row[12]</div>
<input type="hidden" value="$row[12]" name="recstatus">
<input type="hidden" value=$row[1] name="audit_name">
<select name="status" class="select" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option selected="selected">choose</option>
</select>
<div class="subquestion">
<label>upload file</label>
<input type="file" name="file">
<input type="submit" name="submit">
</div>
</form><br/>
</div>
//second
<div class="question1">
<form action="update.php" method="post" id="form-id" enctype="multipart/form-data">
<input type="hidden" value=$row[1] name="audit_name">
<select name="status1" >
<option value="4">4</option>
<option selected="selected">choose</option>
</select>
<div class="subquestion1">
<label>upload file</label>
<input type="file" name="file">
<input type="submit" name="submit">
</div>
</form>
</div>
</td>
这是JQuery:
$(document).ready(function () {
$('.date').each(function () {
$('.question1').hide();
var date = new Date($(this).text().replace("-", "/"));
var recstatus = $(this).closest('td').next().find('.recstatus');
if (new Date() > date && recstatus.text() == 3) {
recstatus.addClass('invaliddate');
//if this is true then hide first div and show second div
// something like this.. but this isn't working
// i need closest/next div (this divs are in cycle)
$(this).closest("div").find(".question1").show();
$(this).closest("div").find(".question").hide();
}
});
});
我想显示question1 div if(这个jquery if语句为true)并隐藏问题div
但它们在周期<td>
下,所以我想要使用
答案 0 :(得分:2)
您需要找到父td
元素,然后找到您需要找到相关div的下一个兄弟td
$(this).closest("td").next().find(".question1").show();
$(this).closest("td").next().find(".question").hide();