任务应该非常简单:从我的输入字段开始,找到最接近的p并改变其样式。
唯一的事情是:我无法找到我的......
<p>
<div class="form-group">
<label for="Email" class="control-label col-md-2">Email</label>
<div class="col-md-10">
<input type="email" value="" name="Email" class="form-control" />
</div>
</div>
</p>
这是找到p元素的javascript代码
$('[name=Email]').closest("p").css('background-color', 'red')
closest("p")
什么都不返回。
知道我错过了什么吗?
答案 0 :(得分:9)
您的HTML无效。使用a validator。
<div>
内不能有<p>
。 div开始标记隐式结束段落元素。然后忽略段落结束标记,因为没有一个打开的段落可以关闭它。
您的标记相当于:
<p></p>
<div class="form-group">
<label for="Email" class="control-label col-md-2">Email</label>
<div class="col-md-10">
<input type="email" value="" name="Email" class="form-control" />
</div>
</div>
这意味着输入也不在段落内。因此,当您查找作为段落的输入的最近祖先时,不会有一个。