【发布时间】:2012-01-04 19:11:29
【问题描述】:
给定一系列表单的 Label 和 Input 元素,例如:
<div class="labelEditwrap">
<div class="editor-label">
<label for="Address">Address</label>
</div>
<div class="editor-field">
<input class="text-box single-line" id="Address" name="Address" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Address"></span>
</div>
</div>
当文本框获得焦点时,我试图选择最外层的 div,这样我就可以突出显示标签和输入:
$("input").focus(function () {
$(this).parent().parent().addClass("curFocus")
});
我尝试了几种组合,包括:
$(this).parent().parent() // seems the most obvious
$(this).parent().parents("div:first")
另一个关于 .parent().parent() 的问题通过找到与选择器无关的语法错误得到解决。但是,在这种情况下,如果我只上一层父级(仅突出显示编辑器的 div)并且如果我爬上 3 级(突出显示包含完整表单的容器),我可以看到我的 hightlighter 类。
谢谢
好的....它不是选择器。所有建议的替代品(和原件)都正确地“选择”了外部包装器 div。问题在于 CSS 以及如何将浮点数应用于标签和编辑器 div。此 CSS 将产生正确的突出显示,并让标签/编辑器字段正确对齐。 [呼]
关闭/编辑/重命名问题的最佳方式取决于你们,希望能帮助其他人避免我的 4 小时故障排除磨难。
-非常感谢所花费的时间-
【问题讨论】:
-
OK....它不是选择器。所有建议的替代品(和我的原件)都正确地“选择”了外部包装器 div。问题是如何将浮点数应用于标签和编辑器 div:
标签: jquery-selectors