我有一个名为OnHandClass的类的单元格。我在单元格内部有一个输入字段,我在单元格中添加了一个双击事件,并尝试了许多方法来更改最近输入元素的可见性。下面列出了三个。我错过了什么?
<input type="text" class="OnHandEditClass" value="1" style="display: none;">
<td class="OnHandClass">
1
<input type="text" class="OnHandEditClass" value='1'>
</td>
$('.OnHandClass').dblclick(function (evt) {
$(this).next(":text").css("display", "inline");
$(this).next("input[type='text']").show();
$(this).closest('input').css("display", "inline");
});
答案 0 :(得分:2)
使用.find()
(或.children()
)应该这样做:
$('.OnHandClass').dblclick(function (evt) {
$(this).find(":text").show();
});
<强> jsFiddle example 强>
.next()
搜索即时兄弟,.closest()
查找DOM,因此这些都不适合你。
答案 1 :(得分:0)
<input type="text" class="OnHandClass"/>
<input type="text" class="OnHandEditClass" value="1" style="display: none;">
$('.OnHandClass').dblclick(function(evt) {
$(this).closest('input').next().css("display", "inline");
});
答案 2 :(得分:0)
如果您的输入位于您所说的td内,请使用.children:
$('.OnHandClass').dblclick(function() {
$(this).children('input').css("display", "inline");
});
。在你的情况下,孩子应该是禁食的方式。