问题描述
我在访问数据属性中的值时遇到问题。
我知道它是我遗漏的小东西,但我一直盯着它看太久了,现在我看不到了。我想我在 getDataAttributes 函数中遗漏了一行代码,就在 getElementById 之后,但无法弄清楚它是什么。
提前致谢!
jsfiddle - https://jsfiddle.net/robgit28/4y165bsf/1/
HTML
<button type='button' id="addtowebsite">
<div class="add-btn"
data-userid="123"
data-firstname="John"
data-lastname="Doe">Add button
</div>
</button>
JAVASCRIPT
document.getElementById('addtowebsite').addEventListener("click",function () {
getDataAttributes(this);
});
function getDataAttributes(input) {
var select = document.getElementById('addtowebsite');
var jsonData = JSON.stringify({
userId: parseInt(input.dataset.userid),firstName: input.dataset.firstname,lastName: input.dataset.hostlastname,});
return jsonData;
}
解决方法
<button type='button' id="addtowebsite">
<div id="d"
class="add-btn"
data-userid="123"
data-firstname="John"
data-lastname="Doe">Add button
</div>
</button>
document.getElementById('addtowebsite').addEventListener("click",function () {
getDataAttributes(this);
});
function getDataAttributes(input) {
var select = document.getElementById("d");
var jsonData = JSON.stringify({
userId : parseInt(select.getAttribute("data-userid")),firstName : select.getAttribute("data-firstname"),lastName : select.getAttribute("data-lastName"),});
return jsonData;
}
<button type='button' id="addtowebsite">
<div id="d"
class="add-btn"
data-userid="123"
data-firstname="John"
data-lastname="Doe">Add button
</div>
</button>
谢谢哈米德!太傻了!我在我的代码中看到了错误,然后回来查看您的答案 - 谢谢!
我只是这样做...
<button type='button' id="addtowebsite">
<div class="add-btn" id="div"
data-userid="123"
data-firstname="John"
data-lastname="Doe">Add button
</div>
</button>
<script>
var input = document.getElementById('div');
function getDataAttributes() {
var jsonData = JSON.stringify({
userId: parseInt(input.dataset.userid),firstName: input.dataset.firstname,lastName: input.dataset.hostlastname,});
console.log(jsonData);
return jsonData;
}
</script>