javascript 如何使用jquery获取数据属性值

ru9i0ody  于 2023-01-29  发布在  Java
关注(0)|答案(4)|浏览(184)

我正在用PHP开发jquery,现在我有一个按钮在循环中,我想传递“数据属性”并得到值,现在我得到的是“未定义”,那么我该怎么做呢?这是我目前的代码

echo "<td>"."<a class='map-pop' data-id='".$employee_time['id']."' data-toggle='modal' data-target='#mapModal' onclick='viewmap();'><img src='assets/viewmap.png'></a>"."</td>";
                    
<script>
function viewmap()
{
     var ids = $(this).attr('data-id');
        alert('id is ' + ids);
}

</script>
5n0oy7gb

5n0oy7gb1#

更改你的onclick到这

onclick='viewmap(this)'

然后用jquery获取数据

function viewmap(elm){
  var id = $(elm).data('id');
  alert('id is ' + id);
}
bkhjykvo

bkhjykvo2#

在onclick函数中传递this并在viewmap函数中获取和访问您可以尝试以下代码。
PHP语言

<?php

echo "<td>"."<a class='map-pop' data-id='".$employee_time['id']."' data-toggle='modal' data-target='#mapModal' onclick='viewmap(this);'><img src='assets/viewmap.png'></a>"."</td>";
         
?>

脚本

<script>
function viewmap(m)
{
     var ids = m.attr('data-id');
        alert('id is ' + ids);
}

</script>
7vux5j2d

7vux5j2d3#

问题是您在函数viewmap中使用了this,但没有将其作为HTML代码中的参数发送。通过以下方式更改onclickonclick='viewmap(this);,然后更改js函数,如下所示:

function viewmap(e)
{
     var ids = $(e).attr('data-id');
     alert('id is ' + ids);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class='map-pop' data-id='1254' data-toggle='modal' data-target='#mapModal' onclick='viewmap(this);'>
  click here
</a>
0ve6wy6x

0ve6wy6x4#

删除onclick属性并将viemap()函数更改为

$(".map-pop").click(function(e) {
  e.preventDefault();
  
  let ids = $(this).data('id');
  alert(`id is ${ids}`);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class='map-pop' data-id='".$employee_time['id']."' data-toggle='modal' data-target='#mapModal'><img src='assets/viewmap.png'></a>

'

相关问题