如何使用javascript访问HTML元素的数据属性

时间:2019-02-15 21:55:53

标签: javascript html custom-data-attribute

我的表单中有一个下拉菜单。每个选项都有3个与之关联的数据属性。选择一个选项后,我将调用一个函数,该函数将隐藏的html对象的值设置为每个数据属性的值,这样我就可以在下一页上提取该信息。但是,数据属性的值不断上升为“未定义”。我究竟做错了什么?

from itertools import chain

def variable_name(variable):
    for name, object in chain(globals().items(), locals().items()):
        if object is variable:
            return name
    return None # didn't find anything...

我希望警报显示数据量的值,但它会显示“未定义”

我也尝试过:     警报(x.getAttribute('data-amount'));

但是返回“ null”。

2 个答案:

答案 0 :(得分:2)

x是<select>,而不是<option>。该选择没有数据属性。

如果需要该选项,请使用

var option = x.options[x.selectedIndex];
console.log(option.dataset.amount);

答案 1 :(得分:0)

This answer显示了如何从JavaScript获取自定义属性。

摘要:您可以使用getAttribute()

x.getAttribute("data-amount");

编辑:@ James也提出了一个要点,即x是选择器,而不是选项。因此,您可能需要结合以下两个答案:

x.options[x.selecetdIndex].getAttribute("data-amount");