javascript - 使用 native JavaScript 从 select 读取数据属性

标签 javascript

问题很简单,我使用 jquery 找到了一些答案,但在原生 JS 中没有找到答案。

无法读取标签的值,在 IE8+ 下应该可以工作

var select = document.getElementById('test');

select.onchange = function() {
    //Value works fine 
    //alert(select.options[0].value);

    //How can I read data attribute?
    alert(select.options[0].data-label);
}

HTML:

<select id="test">
    <option data-label="label-1" value="HK">Hong Kong</option>
    <option data-label="label-2" value="CH">China</option>
</select>   

http://jsfiddle.net/Lnybn/

最佳答案

因为没有原生的 getData,所以你只需说

getAttribute("data-label");

https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttribute

此版本的较新版本(检查浏览器支持!IE 11!)

https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset

element.dataset.label

关于javascript - 使用 native JavaScript 从 select 读取数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22742880/

相关文章:

javascript - 根据缩放事件更改 amChart Serial 中的 dataProvider

javascript - 在检查 undefined/null 时可以使用类型强制吗?

javascript - 带有 Flot 的 UI Bootstrap 导致未对齐的刻度

javascript - 计算对象和所有子对象中的字符串总数

javascript - jquery lightbox按下一个按钮时自动滚动网站

javascript - 如何用正则表达式解析svg `viewBox`属性?

javascript - REGEX - 当内部内容有换行符时 HTML 到简码中断

c# - 如果不是用什么语言,如何实现我想用 c# 发明的这个新的事件处理程序系统?

javascript - can.Construct 和 can.Construct.extend 之间的区别

javascript - 将值从一个组件传递到另一个 React