我知道'简单'的方法,但我正在使用来自房地产代理商的表单小部件,因为我没有API访问权限,我不得不尝试做一些jQuery'魔术'带来生活中的一些UX功能。
小部件包含标签以及复选框,单选按钮,选择和输入字段。
唯一将这些联系在一起的是它们都是自包含在一个div中,在这个包含div的内部有一个'frmRow'类,另一个div包含一个包含标签的'frmLabel'类。还有第二个div有一个'frmInput'类。我基本上需要确定在'.frmRow'中选择了一个选项,所以改变嵌套'.frmLabel'div的颜色。
我可以使用严格的类名来实现它,但我需要它更通用一些,因此它适用于我必须创建巨大的if / else代码块的所有表单选项。
非常感谢任何想法
如果它有帮助,这是html的片段
<form id="form">
<div class="frmRow">
<div class="frmLabel">Label</div>
<div class="frmInput">Radio, Select, Checkbox or Text Input </div>
</div>
</form>
谢谢Tim,
它正在工作(有点),但它正在改变所有元素的标签颜色。我是jQuery的新手,所以我可能不了解parent()的工作原理。我认为.frmInput的父级是.frmRow,但看起来它认为父级的形式包含div。无论如何,我可以指定我正在寻找的父母?这是代码。
$('#homefinderform').click(function() {
if($('.frmInput input').is(':checked')) {
$(this).parent().addClass('frmLabelChecked');
}
});
答案 0 :(得分:1)
这有点2 .parent()
s,但如果你不能修改HTML本身,那么你必须得到你能得到的东西。这应该可以帮助您了解如何使其发挥作用。