获取JavaScript中子节点的价值

时间:2019-05-08 17:18:59

标签: javascript

我正在查看JS控制台中的一个节点,该节点有一个我需要访问的子节点。假设父节点称为“块”,子节点称为“ details_49_2”。

>blocks:
   >details_49_2:
      id : '2'
      >stuff:
      >lots_of_stuff:
      >lots_more_stuff:

enter image description here

该子节点充满了我需要获取的信息;唯一的问题是节点在页面之间变化,因此我无法将其名称硬编码为变量。例如,如果我对信息blocks.details_49_2.id进行硬编码,则可以很好地访问信息,但是它是可变的,具体取决于页面。我知道这是唯一的子节点和第一个子节点,但是我不确定如何从JS获取该节点的名称。 childNodes和getFirstChild似乎只处理实际的HTML DOM元素。

1 个答案:

答案 0 :(得分:1)

如果可以在运行时确定属性名称,则可以使用方括号访问表示法来访问它:

const name = 'details_42_2';
const subObject = blocks[name];

但是,如果您无法确定其名称,但您知道它是blocks的唯一属性,则可以使用Object.values()

const subObject = Object.values(blocks)[0];

这里是一个示例:

const data = { blocks: { details_42_2: { id: '2' } } };

console.log(Object.values(data.blocks)[0]);