如何通过document对象来获取select标签下option元素的element对象?

需求:自动生成目标元素的Xpath字符串
目前思路:对document对象添加事件监听,当对页面元素进行操作时,获取activeElement,然后生成Xpath
问题:目前input的text,Button,radio和checkbox测试都没问题,但是当操作select标签下的option时,activeElement返回的还是select的element对象
有什么办法能获取到option的element对象吗

湖上湖
浏览 1498回答 5
5回答

肥皂起泡泡

 var act = document.activeElement;     if (act.tagName=="SELECT" && act.selectedIndex>=0) {         act = act.options[act.selectedIndex];     }     alert(act.tagName);

三国纷争

可通过遍历表单的 elements[] 数组来访问某个 Select 对象

叮当猫咪

用jquer啊,$(document).find("select option").each(function(i, optElem){//optElem为opt对象});如果非得用纯js那么可以使用getElementsByTagName方法,返回一个元素数组,如document.getElementsByTagName("select"),再调用返回元素的selecElement。getElementsByTagName(“option”)获取option元素document的常用方法:getElementById 获取对 ID 标签属性为指定值的第一个对象的引用。 getElementsByName 根据 NAME 标签属性的值获取对象的集合。 getElementsByTagName 获取基于指定元素名称的对象集合。

鸿蒙传说

不知道你具体代码怎么写的,是否可以对option绑定事件,通过activeElement和event的targetElement配合使用,选择合适的目标元素,或者对select绑定事件的时候,获取select下选中的option来作为目标元素,用jquer都是比较好写的

ibeautiful

 对于不同类型的元素不要总是使用activeElement获取,可以动过点击事件的currentTarget等等对象,你再研究下,js写的不多
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript