在我的accordian控件中,如果特定窗格中的用户控件(例如用户的姓名和地址输入)返回验证布尔值false,我希望重写标题样式以显示红色背景,而不是默认的主题颜色。
我对如何使用.Toggle来改变这个类没问题,但是我不知道如何在第一个地方获取更多的类。
我该怎么做呢?
谢谢
保罗
发布于 2010-03-16 09:44:12
假设您使用的是jQuery Accordion
这个类叫做:.ui-accordion-header
因此,在验证之后返回false
通过添加内联样式来设置新的背景颜色,如下所示:
$('.ui-accordion-header').attr('style','background:red');然后删除它:
$('.ui-accordion-header').attr('style','');更新
假设您有下面的html结构
<div id="accordion">
<h3><a href="#">Section 1</a></h3>
<div>
<p>
... <- if your form is here for es.:
your path escalation to it's own H3 would be:
<!--\ $(this).parent('p').parent('div').prev(h3).attr('style','background:red') \-->
</p>
</div>
<h3><a href="#">Section 2</a></h3>
<div>
<p>
...
</p>
</div>
</div>其中$(this)表示if语句中的空输入!
if ( $('my_input').val() == '' )
$(this).parent().parent().prev().attr('style','background:red');这应该会像预期的那样工作!
发布于 2010-03-16 10:02:41
一种有用的逆向工程方法是进入Firefox或Chrome这样的浏览器(其他浏览器也这样做,但这是我最常用的两种浏览器),右键单击元素,然后选择“检查元素”。这将为您提供一个格式良好的标记视图(至少Firefox将其格式化,我认为Chrome可能不会),以及当前应用的样式。此外,检查器可以帮助您找出,例如,为什么您CSS规则不适用。您还可以动态创建新规则,这会使编辑-编译-测试循环变得更快。
https://stackoverflow.com/questions/2451576
复制相似问题