有没有标准方法可以从 HTMLOptionElement 获取 HTMLSelectElement?

Is there a standard way to get HTMLSelectElement from HTMLOptionElement?

提问人:Abdillah 提问时间:3/6/2023 更新时间:3/6/2023 访问量:41

问:

HTMLSelectElement目前提供属性以访问其所有选项子项,无论方式如何。但是,反之亦然。HTMLSelectElement.optionsoptgroup

目前,我们需要遍历元素。

let select;
let parent = target;
while (parent.parentElement) {
    if (parent.tagName === 'SELECT') {
        select = parent;
        break;
    }
    parent = parent.parentElement;
}

是否有标准属性或函数可以从 HTMLOptionElement 获取 HTMLSelectElement? 或者除了上述代码之外更有效的方法?

JavaScript HTML Web 标准

评论


答:

1赞 Quentin 3/6/2023 #1

没有 HTMLOptionElement 对象的属性,它为你提供关联的 select 元素。

最接近的方法是一个内置方法,用于在您重新实现的庄园中搜索 DOM。

请注意,option 元素可以属于 select 或 datalist,因此您可能希望在搜索中同时处理这两种可能性。

const control = option.closest('select, datalist')