正如标题所说,我正在尝试获取按钮的包含(父)元素的属性值,称为`data-id'。
目前的代码是:
function onClickGetId(e) {
//grab data-id number from HTML
var dataId = document.getElementById("data-id"); <-- returns null right now, need to pull from HTML
var dataIdFromRow = dataId.getAttribute("data-id");
var textForVCs = '';
for (i = 0; i < currentVCData.length; i++) {
if (currentVCData[i][0] == dataIdFromRow) {
textForVCs = textForVCs + " " + currentVCData[i][1];
}
}
return textForVCs;
}
为了让它从父ID中获取属性,我应该添加什么?
答案 0 :(得分:0)
您可以使用$(this).parentNode.attr('data-id');
从父ID中获取属性。
答案 1 :(得分:0)
尝试使用类似的东西
首先获取元素ID
var testVar = document.getElementById("divID");
然后使用第一个变量获取元素ID以获取所需的数据属性。
var show = testVar.getAttribute("data-id");
查看此代码..请告诉我这是否是您要找的。它对我有用。 https://codepen.io/tetonhiker/pen/WjZrbo
答案 2 :(得分:0)
元素中的父级是&#34; parentNode&#34;
试试this.parentNode.dataset.id
或
e.parentNode.dataset.id
或者用yor js和html做个小提琴..
答案 3 :(得分:0)
这里是代码HTML:
<div data-id="test">
<button onclick="action(this)">
CLICK ME
</button>
</div>
JS:
function action(element) {
console.log(element.parentNode.getAttribute('data-id'));
}
工作示例:
答案 4 :(得分:0)
找到解决方案!事实证明,我需要使用语法var dataId = e.target.parentNode.parentNode.getAttribute("data-id");