Javascript:如何获取按钮父ID的属性数据?

时间:2017-05-04 18:49:07

标签: javascript html

正如标题所说,我正在尝试获取按钮的包含(父)元素的属性值,称为`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中获取属性,我应该添加什么?

5 个答案:

答案 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'));
}

工作示例:

https://jsfiddle.net/0tqsepap/2/

答案 4 :(得分:0)

找到解决方案!事实证明,我需要使用语法var dataId = e.target.parentNode.parentNode.getAttribute("data-id");

来引用父节点的父节点的属性