JQuery选择特定的li元素

JQuery选择特定的li元素,jquery,html-lists,Jquery,Html Lists,好吧,我已经为此挣扎了一段时间。我还在学习JQuery 以下是我所拥有的: 剧本: $('ul li.error').animate({ height: 'toggle', opacity: 'toggle' }, { duration: 500, specialEasing: { width: 'linear', height: 'easeInOutCubic' }, complete: function() {

好吧,我已经为此挣扎了一段时间。我还在学习JQuery

以下是我所拥有的:

剧本:

$('ul li.error').animate({
    height: 'toggle',
    opacity: 'toggle'
    }, {
    duration: 500,
    specialEasing: {
    width: 'linear',
    height: 'easeInOutCubic'
    },
    complete: function() {

    $(this).each(function(){

        $(this).delay(4000);

        $(this).animate({
            height: 'toggle',
            opacity: 'toggle'
        }, {
            duration: 7000,
            specialEasing: {
            width: 'linear',
            height: 'easeInOutCubic'
        },
        complete: function(){
            $(this).delay(1000);
                $(this).parent().next().find('li input').css('border-color', 'red');
                $('#somediv').slideDown();  
            }

        });

    });

    }
});
Html:

<div>
   <ul>
 <li class="error">(Error Message if any)</li>
 <li class="label"><label></li>
 <li class="input"><input></li>

 <li class="error">(Error Message if any)</li>
 <li class="label"><label></li>
 <li class="input"><input></li>
   </ul>
</div>
我要做的是选择具有输入的li元素并更改边框颜色。但我只想更改出现错误消息的边框颜色


我该怎么做?任何帮助都将不胜感激,谢谢

这是我刚刚做的一个例子,但选择这样的元素并不好

$('.error').each(function(){
    var next = $(this).next();
    for( var i = 0; i < 5; i++ ) {
        if( next.hasClass('input') === false ) {
            next = next.next();
        } else {
            next.css('border', '1px solid red');
            break;
        }
    }
});
那你就可以这么做了

$('.error').parent().find('.input').css('border', 'red');

这是我刚刚做的一个例子,但选择这样的元素并不好

$('.error').each(function(){
    var next = $(this).next();
    for( var i = 0; i < 5; i++ ) {
        if( next.hasClass('input') === false ) {
            next = next.next();
        } else {
            next.css('border', '1px solid red');
            break;
        }
    }
});
那你就可以这么做了

$('.error').parent().find('.input').css('border', 'red');

我们如何知道一个输入属于一个带有错误的li类而不是另一个?allIs li没有任何关系。默认情况下,error始终可用?它每次都是在php中生成的,如下面的echo.form_error'last_name'。;但是如果没有错误,列表元素在页面上仍然可见,内部没有任何内容。我使用$'li.error'.hide;但是我也将它设置为隐藏在css中,比如so ul li.error{display:none;background:005580;color:FFF;border radius:3px 3px;width:100%;padding:0;margin:0;}我们如何知道输入属于一个具有错误类的li而不属于另一个li?allIs li没有任何关系。默认情况下,error始终可用?它每次都是在php中生成的,如下面的echo.form_error'last_name'。;但是如果没有错误,列表元素在页面上仍然可见,内部没有任何内容。我使用$'li.error'.hide;但是我也将它设置为隐藏在css中,比如说ul li。错误{显示:无;背景:005580;颜色:FFF;边框半径:3px 3px;宽度:100%;填充:0;边距:0;}您通常如何设置页面来完成我试图做的事情?我真正想要的是突出显示有错误的输入,但同时显示一条消息,然后将其淡出。我需要从php返回一个额外的值来检查吗?您通常如何设置一个页面来完成我要做的事情?我真正想要的是突出显示有错误的输入,但同时显示一条消息,然后将其淡出。我是否需要从php返回一个可以检查的额外值?