jQuery数据属性没有获取值

时间:2014-08-28 19:56:43

标签: javascript jquery attributes jquery-data

jQuery Data Attribute无法使用最简单的演示......

$( document ).ready(function() {

  $("#font_selection").change(function(){
    var fontImgName = $(this).data('font-img');
    //var fontImgName = $("#font_selection").data('font-img');

    //var fontImgName = $(this).attr('data-font-img')
    //var fontImgName = $("#font_selection").attr('data-font-img')

    alert(fontImgName);

  });

});

我必须遗漏一些东西,我已经尝试了所有我认为没有成功的组合,请帮忙!

JSFiddle Demo http://jsfiddle.net/8fvo3kw0/1/

4 个答案:

答案 0 :(得分:2)

您需要查看所选的选项元素:

var fontImgName = $(this).find('option:selected').data('font-img');

<强> jsFiddle example

答案 1 :(得分:2)

http://jsfiddle.net/8fvo3kw0/3/

$( document ).ready(function() {

  $("#font_selection").change(function(){
    var fontImgName = $(this).find('option:selected').data('font-img');      
    alert(fontImgName);
  });

});

答案 2 :(得分:1)

您正在尝试获取data&amp;的select属性您的选择没有data属性。

我认为您需要所选项目的数据属性

使用下面的

var fontImgName = $(this).find(':selected').data('font-img');

DEMO

答案 3 :(得分:1)

这是因为您引用了select元素本身。

var fontImgName = $(this).find('option:selected').data('font-img');

这将找到所选的选项,然后访问它的数据属性。您正在做的是,您正在选择数据属性的选择值。在您的HTML中,选择根本没有数据属性。