javascript $(this).data()不起作用
我写了一些代码,使用ajax将值发送到数据库。 但是,我的警报框显示undefined
的值。 我不明白我的问题是什么。
$(document).ready(function(){ $(document).on('click', '#publish', function(){ var status = $(this).data('data-pid'); alert(status); $.ajax ({ url: 'update_about_status.php', data: {"statusValue": status}, type: 'post', success: function(result) { $('.modal-box').text(result).fadeIn(700, function() { setTimeout(function() { $('.modal-box').fadeOut(); }, 2000); }); } }); }); }); print'';
当您使用data() api时,不需要使用data-
前缀来读取data-*
属性值 – 请参阅data-html5
var status = $(this).data('pid');
如果您使用的是.attr(),那么您需要使用完整的属性名称
var status = $(this).attr('data-pid');
您不必提供data()
函数的data()
in参数,但您必须仅提供给pid
, data-
用于标识数据属性。
现场演示
var status = $(this).data('pid');
使用data- *属性嵌入自定义不可见数据
自定义数据属性是无命名空间中的属性,其名称以字符串“data-”开头,连字符后至少有一个字符,与XML兼容,并且不包含大写ASCII字母, 引用 。
你可以尝试改为:
var status = $(this).data('pid');