javascript - 在内联函数中获取属性 data-* 的值

标签 javascript

我有一个数据属性data-niq,我用它来存储一些数据。我想将 *-niq 中的数据传递给函数作为函数的第二个参数。

这是代码

<button onClick="editevent(this.id,this.id.getAttribute('data-niq'));" id="mid" data-niq="niq" class="mr edit btn btn-success pull-right"> Edit</button>

<script>
function editevent(clicked_id,attri_bute){
console.log('clicked id',clicked_id);
console.log('data-niq',attri_bute);
}
</script>

和链接https://jsfiddle.net/codebreaker87/zob8dm4z/8/

当我运行代码时,我得到TypeError: this.id.getAttribute is not a function

如何在我调用的内联函数中传递 data-niq 值?

最佳答案

这里有一些东西

  1. 切勿将标记与 JavaScript 混合
  2. 尝试在 javascript 端绑定(bind)事件。

检查以下代码片段。

window.onload = function() {

  var mid = document.getElementById("mid");
  mid.addEventListener('click', function() {
    editevent(this);
  })
}

function editevent(thisObj) {

  var id = thisObj.getAttribute('id');
  var dataniq = thisObj.getAttribute('data-niq');
  alert(id);
  alert(dataniq);
}
<button id="mid" data-niq="niq" class="mr edit btn btn-success pull-right">Edit</button>

希望对你有帮助

关于javascript - 在内联函数中获取属性 data-* 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40538490/

相关文章:

javascript - 由于 CORS 问题,无法在 Heroku 上访问 Flask API

javascript - 如何使用 react 中对象数组的时间戳进行迭代

javascript - 根据字符串长度使用纯 JavaScript 调整字体大小

javascript - 如何使用 JavaScript 永久修改单独文件上的 JSON 对象?

javascript - 如何在 React 16 中使用 ReactDOM.createPortal() ?

javascript - 鼠标悬停的触摸事件

javascript - 如何在 reactjs 中使用 bulma carousel?

javascript - PHP 作为 Javascript,获取参数

javascript - jquery中的更改事件

javascript - 购物车挑战 JavaScript 逻辑。有不止一种方法可以解决吗?