jquery nextAll()函数,检查是否有下一个

时间:2012-06-26 19:12:11

标签: jquery next traversal

我如何测试是否有下一个,因为这不想工作

出于某种原因,它一直有3个元素?

$("body "+content).on("keypress","form.fcheckoutform :input.aantal",function(e) {
        if (e.keyCode === 9) { 

            var nextItem = $(this).nextAll();

            if (!nextItem.length) { 
                $(content+ '.aantal:eq(0)').focus();
                return false;
            }
            $(this).nextAll().focus();
        }
    });

修改 解决

$("body "+content).on("keypress","form.fcheckoutform :input.aantal",function(e) {
        e.preventDefault();
        if (e.keyCode === 9) { 
            var nextItem = $(this).parents('.item-checkout').next().children('form').children('div.fr').find('.aantal');
            if (!nextItem.length) { 
                $(content+ ' .aantal:first').focus();
            }else{
                nextItem.focus();
            }
        }
    });
谢谢,理查德

1 个答案:

答案 0 :(得分:0)

试试这个:

$("body "+content).on("keypress","form.fcheckoutform :input.aantal",function(e) {
    if (e.keyCode === 9) { 

        var nextItem = $(this).nextUntil(':input.aantal').next();

        if (!nextItem.length) { 
            $(content+ '.aantal:eq(0)').focus();
            return false;
        }
        $(this).nextUntil(':input.aantal').next().focus();
    }
});