javascript - jQuery - 选择输入字段的关联标签元素

标签 javascript jquery forms

<分区>

我有一组输入字段,其中一些有关联的标签,一些没有:

<label for="bla">bla</label> <input type="text" id="bla" />

<label for="foo">bla <input type="checkbox" id="foo" /> </label>

<input ... />

那么,如果每个输入存在关联标签,我该如何选择?

最佳答案

您不应该使用 prevnext 来依赖元素的顺序。只需使用标签的 for 属性,因为它应该对应于您当前正在操作的元素的 ID:

var label = $("label[for='" + $(this).attr('id') + "']");

但是,在某些情况下,标签不会设置 for,在这种情况下,标签将成为其关联控件的父级。要在这两种情况下找到它,您可以使用以下变体:

var label = $('label[for="' + $(this).attr('id') + '"]');

if(label.length <= 0) {
    var parentElem = $(this).parent(),
        parentTagName = parentElem.get(0).tagName.toLowerCase();

    if(parentTagName == "label") {
        label = parentElem;
    }
}

希望对您有所帮助!

关于javascript - jQuery - 选择输入字段的关联标签元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844594/

相关文章:

ruby-on-rails - Rails form_for collection_select 忽略 select_tag 接受的远程 ajax 调用

javascript - 如何在没有任何对话框的情况下发送数据进行打印并在 javascript 中进行预览

javascript - 从左向右滑动 LI 无需滚动 CSS 或 JS?

javascript - 无法在我的 jquery 模板中使用全局变量

javascript - 如何获取 ng-options 值并在内部值发生变化时触发函数?

ruby-on-rails - Rails options_for_select/ActiveRecord_Associations_CollectionProxy

javascript - 将动态 HTML 字段数组中的值减少到最紧凑的形式

javascript - 单击打开按钮后创建不必要的空间

javascript - Node.js、TypeScript、JavaScript 和 Angular 之间的连接

javascript - 在交互式流程图/ TreeMap 中隐藏未选择的选项