任务应该非常简单:从我的输入字段开始,找到最接近的p并更改其样式。
唯一的事情是:我找不到我的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")
不返回任何内容。知道我缺少什么吗?
最佳答案
您的HTML无效。使用a validator。<div>
中不能有<p>
。 div start标签隐式结束了段落元素。然后,段落结束标记将被忽略,因为没有关闭的段落可以关闭。
您的标记等同于:
<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>
这意味着输入也不在段落内。因此,当您寻找作为段落的输入的最接近的祖先时,没有一个。
关于javascript - jQuery找不到最接近的p,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26156899/