如何使用jQuery使输入旁边的标签可见?

时间:2013-07-10 07:20:23

标签: jquery html

我想在tr代码onblur事件后显示input代码。我已经完成了功能,但它无法正常工作。当用户模糊input然后只能从模糊输入中首先检查tr时,我想要的是什么。以下是示例code

<script type="text/javascript">
$(function(){
    $('input').blur(function(){
        $(this).closest('tr').nextAll('tr').filter(function(){
            return $(this).index()==0
        })
    })
})
</script>
<style>
    .check{ display:none}
</style>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td><input /></td>
    </tr>
    <tr class="check">
        <td>hiiii</td>
    </tr>
    <tr>
        <td><input /></td>
    </tr>
    <tr>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
    </tr>
    <tr class="check">
        <td>hiiii</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td><input /></td>
    </tr>
    <tr>
        <td>&nbsp;</td>
    </tr>
    <tr class="check">
        <td>hiiii</td>
    </tr>
</table>

2 个答案:

答案 0 :(得分:1)

您可以通过选择器获取下一个tr.check,而无需过滤它:

Demo

$('input').blur(function(){
    $(this).closest('tr').nextAll('tr.check').first().show();
});

答案 1 :(得分:1)

试试这个:

$(function () {
    $('input').blur(function () {
        $(this).parents('tr').nextAll('tr.check').slice(0,1).show();
    })
})

jsFiddle