这是我想要做的:
当我输入input
字段时,我希望顶级div.container-fluid
更改颜色。现在我只能改变.xdiv
区域而不是任何高于此区域的div。
这是我的代码:
<script>
$(function () {
$('input[type="text"]').keypress(function () {
var $this = $(this),
$div = $(this).parent();
if ($this.val().length > 0) {
$div.addClass("hasContent");
} else {
$div.removeClass("hasContent");
}
});
});
</script>
<style>
.container-fluid.hasContent { background-color: red }
</style>
<div class="container-fluid linear-Algebra" id="{{id}}">
<div class="row-fluid">
<div class="span12">
<div class="row-fluid">
<div class="span8 grid-layout">
<legend>Grid Layout:</legend>
<div class="span4">
<div class="xdiv">
<label>x:</label>
</div>
</div>
<div class="span4 offset1">
<div class="ydiv">
<label>y:</label>
</div>
</div>
</div>
<div class="span3">
<legend>Options:</legend>
<div class="btngroup">
<label class="checkbox" class="cbl">
</label>
</div>
<label>Actions:</label>
<div class="btngroup">
</div>
</div>
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
改变这个
$div = $(this).parent();
TO
$div = $(this).parents('.container-fluid');
parents('.container-fluid')
找到课程container-fluid
答案 1 :(得分:0)
您可以使用jQuery.closest -
var containerDiv = $(this).closest('.container-fluid');
来自jquery最近的页面(http://goo.gl/tHBRx) -
描述:对于集合中的每个元素,获取第一个元素 通过测试元素本身并遍历来匹配选择器 通过DOM树中的祖先。
答案 2 :(得分:0)
改变这个:
$div = $(this).parent();
到此:
$div = $('.container-fluid')[0];
此外,您的输入元素在哪里?