如何使用jquery更改文本输入的CSS?

时间:2015-03-25 18:41:03

标签: javascript jquery html css

我有一个名为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");               

        });

3 个答案:

答案 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");
});

。在你的情况下,孩子应该是禁食的方式。