Jquery 如果存在子类,则将类添加到父类
hi im使用codeigniter生成表单表单错误仅显示该字段是否存在错误,我要使用twitter引导进行样式设置,因此我需要一种方法将一类错误添加到div(使用class=“clear fix”)和输入(如果(span class=“help inline”)作为子项存在 希望不要使用查询,这样它会适当降级,但任何选项都是好的 任何帮助都会很好。希望这是有道理的。代码如下,谢谢Jquery 如果存在子类,则将类添加到父类,jquery,css,codeigniter,Jquery,Css,Codeigniter,hi im使用codeigniter生成表单表单错误仅显示该字段是否存在错误,我要使用twitter引导进行样式设置,因此我需要一种方法将一类错误添加到div(使用class=“clear fix”)和输入(如果(span class=“help inline”)作为子项存在 希望不要使用查询,这样它会适当降级,但任何选项都是好的 任何帮助都会很好。希望这是有道理的。代码如下,谢谢 <?php echo form_open('login'); ?> <field
<?php echo form_open('login'); ?>
<fieldset>
<div class="clearfix">
<?php echo form_label('Email Address: ', 'email_address');?>
<div class="input"><?php echo form_input('email_address', set_value('email_address'), 'id="email_address" class="xlarge" autofocus ');?>
<?php echo form_error('email_address', '<span class="help-inline">', '</span>'); ?>
</div>
</div><!-- /clearfix -->
<div class="clearfix">
<?php echo form_label('Password: ', 'password');?>
<div class="input"><?php echo form_input('password', '', 'id="password" class="xlarge"');?>
<?php echo form_error('password', '<span class="help-inline">', '</span>'); ?>
</div>
</div><!-- /clearfix -->
<div class="actions">
<?php echo form_submit('submit', 'Login', 'class="btn primary"'); ?>
</div>
</fieldset>
<?php echo form_close(); ?>
我建议使用:
$('.help-inline').closest('.clear-fix').addClass('error').end().prev('input').addClass('error');
(注意,我已经将jQueryclosest()
更改为:closest('.clearfix')
)
或:
(请注意,我已将jQuery选择器更改为:$('.clearfix')
)。也不知道这是否会改变任何内容,但我正在使用更少的代码来生成cssShow呈现的html;php(服务器端)与JavaScript(客户端)完全无关。谢谢,这很好,非常有意义,可以在JS Fiddle中使用,但由于某些原因,无法在我的网站上使用。请检查编辑。在最初的演示中,我使用了clearfix
而不是.clearfix
。后来我在新修改的演示中改变了这一点(除了那些新链接外,我还注意到了这一点)。我原以为它可以工作,但现在它突出显示了所有内容,而不考虑子项(在您发布的HTML中,js Fiddle中是否有相同的内容?两个clearfix div都包含一个帮助内联
span。所以它是按照您的要求进行的,不是?
$('.help-inline').closest('.clear-fix').addClass('error').end().prev('input').addClass('error');
$('.clear-fix').each(
function(){
if ($(this).has('.help-inline')){
$(this).addClass('error');
$(this).find('input').addClass('error');
}
});