Javascript 传递数据时单击“不工作”时的Jquery

Javascript 传递数据时单击“不工作”时的Jquery,javascript,jquery,Javascript,Jquery,这个问题很简单,但由于某些原因,我无法解决它。 这是将打开模式框的a href标记 <center><a href="javascript:void();" class="btn-home" data="<?php echo $cid;?>" data-toggle="modal" data-target="#ApplyModal" name="btn-classified" id="btn-classified" href="#">Apply</a&g

这个问题很简单,但由于某些原因,我无法解决它。 这是将打开模式框的a href标记

<center><a href="javascript:void();" class="btn-home" data="<?php echo $cid;?>" data-toggle="modal" data-target="#ApplyModal" name="btn-classified" id="btn-classified" href="#">Apply</a></center>

下面是从数据属性获取id的jquery

<script type="text/javascript">
$('document').ready(function()
{
    $(document).on('click', '#btn-classified', function() {
    //$("#btn-classified").on("click", function () {
     //$("#btn-classified").click(function() {   
     var myvar1 = $(this).data('data');
     alert(myvar1);

});
});
</script>

$('document').ready(函数()
{
$(文档).on('click','btn classified',函数(){
//$(“#btn分类”)。在(“单击”,函数(){
//$(“#btn分类”)。单击(函数(){
var myvar1=$(this.data('data');
警报(myvar1);
});
});
由于某些原因,如果我使用
$(document),我不会得到任何输出。在('click','#btn classified',function(){

如果我使用
$(“#btn classified”)。在(“单击”,函数(){
,那么我就没有定义。

要获取
的“数据”属性,您需要在HTML中将
数据
更改为
数据id
。这样,您可以像这样访问javascript中的数据属性:

$('#btn-classified').on('click', function() {
  alert($(this).data('id'));
});

$(this).data('data')
实际上期望HTML中的
data data=“

您有两个HREF-一个说
javscript:void();
另一个有一个散列(#)删除一个。这样您就不会得到未定义的属性。

根据文档,属性应该是数据 如果需要通过.data函数获取

$('document').ready(函数()
{
$(文档).on('click','btn classified',函数(){
//$(“#btn分类”)。在(“单击”,函数(){
//$(“#btn分类”)。单击(函数(){
var myvar1=$(this.data('data');
警报(myvar1);
});
});


使用.attr('data')而不是.data('data')函数,因为.data函数用于存储与匹配元素关联的任意数据,或在命名数据存储中为匹配元素集中的第一个元素返回值。

.data('data')将使用属性data=“”,这就是为什么你需要使用Rui的答案。这不是问题。问题是试图使用不存在的密钥访问数据属性。@JethroVanThuyne将其指向两个位置,这无助于混淆问题。一个href仍应删除。很好,我错过了那个。谢谢你的答案。投票通过。谢谢你的答案。V向上。谢谢你。如果这个答案对你有效,请选择作为正确答案。谢谢你的答案。投票通过。谢谢你的答案。投票通过。