如何从 querySelectorAll() 的每个结果中获取属性

用户1698161

我正在尝试这样做:

  1. 搜索我的结构中的所有跨度
  2. 获取每个跨度的 id 值
  3. 使用该文本更新父级以进行测试

这项工作的原因是我正在为应用程序进行前端自定义,并尝试在父元素上设置一些 WAI-ARIA 标签值。

问题是许多所需的值来自我正在使用/围绕的 COTS 应用程序。这些需要的输入在 DOM 中并不总是以良好的顺序设置。

我一直在寻找一个 JS 解决方案来解决这个问题。

<div class="fluid-form-container">
<ul id="accordionGroup" class="Accordion" data-allow-multiple="">
<li class="fluid-form-group-container">
<h3 aria-labelledby="accordion1id">
<button aria-expanded="true" class="Accordion-trigger" aria-controls="sect1" id="accordion1id">
<span class="Accordion-title"><div class="fluid-form-title">
<div class="FormSection">
<span id="More_Info_Form_Section_Label">More Info</span>
</div>
</div>
</span>
</button>
</h3>
</li>
<li class="fluid-form-group-container">
<h3 aria-labelledby="accordion2id">
<button aria-expanded="true" class="Accordion-trigger" aria-controls="sect2" id="accordion2id">
<span class="Accordion-title"><div class="fluid-form-title">
<div class="FormSection">
<span id="Even_More_Info_Form_Section_Label">Even More Info</span>
</div>
</div>
</span>
</button>
</h3>
</li>
</div>

//My bad javaScript so far

var found_elements = [];

var outers = document.querySelectorAll('.FormSection');

for(var i=0; i<outers.length; i++) {
    var elements_in_outer = outers[i].querySelectorAll("span");
  var updateValue = elements_in_outer.getAttr("id");
  outers[i].closest("h3").innerHTML = updateValue;
}

预期结果: - 父标签innerHTML 设置为结构中每个span 的id 值

实际结果: - 我收到错误,因为我不确定我需要使用什么来从找到的每个跨度中获取该 ID

这样的

querySelectorAll()返回一个NodeList,所以elements_in_outer.getAttr("id")不会工作,应该用querySelector()

没有getAttr,使用getAttribute

(我for用一个代替了你forEach

var found_elements = [];

var outers = document.querySelectorAll('.FormSection').forEach(div => {
  var elements_in_outer = div.querySelector("span");
  var updateValue = elements_in_outer.getAttribute("id");
  div.closest("h3").innerHTML = updateValue;
});
<div class="fluid-form-container">
  <ul id="accordionGroup" class="Accordion" data-allow-multiple="">
    <li class="fluid-form-group-container">
      <h3 aria-labelledby="accordion1id">
        <button aria-expanded="true" class="Accordion-trigger" aria-controls="sect1" id="accordion1id">
<span class="Accordion-title"><div class="fluid-form-title">
<div class="FormSection">
<span id="More_Info_Form_Section_Label">More Info</span>
</div>
</div>
</span>
</button>
      </h3>
    </li>
    <li class="fluid-form-group-container">
      <h3 aria-labelledby="accordion2id">
        <button aria-expanded="true" class="Accordion-trigger" aria-controls="sect2" id="accordion2id">
<span class="Accordion-title"><div class="fluid-form-title">
<div class="FormSection">
<span id="Even_More_Info_Form_Section_Label">Even More Info</span>
</div>
</div>
</span>
</button>
      </h3>
    </li>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Javascript

如何获取和删除querySelectorAll的parentNode

来自分类Javascript

如何删除使用querySelectorAll获取的元素?

来自分类Javascript

如何仅对具有特定属性集的元素使用querySelectorAll?

来自分类Dev

如何在querySelectorAll的过滤器函数中引用“ this”?

来自分类Dev

如何遍历Nightwatch中的querySelectorAll结果

来自分类Dev

如何在Firefox中使.querySelectorAll()或.forEach()工作?

来自分类Dev

如何从querySelectorAll获取所有元素并与addEventListener一起使用

来自分类Dev

TypeScript中的querySelectorAll等效

来自分类Dev

document.querySelectorAll('')如何运作?

来自分类Dev

如何在MutationObserver中添加的节点上使用querySelectorAll

来自分类Dev

如何筛选querySelectorAll结果?

来自分类Dev

如何优化querySelectorAll记录?

来自分类Dev

如何将eventListener添加到querySelectorAll并在触发时获取元素索引(或ID,值)?

来自分类Dev

document.querySelectorAll-如何避免使用给定参数获取嵌套元素?

来自分类Dev

如何使用document.querySelectorAll()到jQuery中以提高性能?

来自分类Dev

我如何为每个相同的Class元素将此js函数用于document.querySelectorAll

来自分类Dev

库中的querySelectorAll

来自分类Dev

querySelectorAll-如何仅获取特定div中的元素

来自分类Dev

使用querySelectorAll从多个选择中获取值

来自分类Dev

搜索querySelectorAll调用的结果

来自分类Dev

如何获取集合中每个属性的“类型”?

来自分类Dev

.querySelectorAll如何仅采用具有所有属性的元素

来自分类Dev

JavaScript:将每个 querySelectorAll 结果推送到变量中

来自分类Dev

querySelectorAll 用于分组数据属性

来自分类Dev

如何拆分 querySelectorAll 结果?

来自分类Dev

如何为每个元素使用“querySelectorAll”获取两个不同的事件?

来自分类Dev

如何为 querySelectorAll 选择器返回的数组中的每个 HTML 元素分配一个整数值

来自分类Dev

如何在javascript中使用querySelectorAll和addEventListener获取点击元素的文本

来自分类Dev

我如何在反应中获得 querySelectorAll html 元素?

Related 相关文章

  1. 1

    如何获取和删除querySelectorAll的parentNode

  2. 2

    如何删除使用querySelectorAll获取的元素?

  3. 3

    如何仅对具有特定属性集的元素使用querySelectorAll?

  4. 4

    如何在querySelectorAll的过滤器函数中引用“ this”?

  5. 5

    如何遍历Nightwatch中的querySelectorAll结果

  6. 6

    如何在Firefox中使.querySelectorAll()或.forEach()工作?

  7. 7

    如何从querySelectorAll获取所有元素并与addEventListener一起使用

  8. 8

    TypeScript中的querySelectorAll等效

  9. 9

    document.querySelectorAll('')如何运作?

  10. 10

    如何在MutationObserver中添加的节点上使用querySelectorAll

  11. 11

    如何筛选querySelectorAll结果?

  12. 12

    如何优化querySelectorAll记录?

  13. 13

    如何将eventListener添加到querySelectorAll并在触发时获取元素索引(或ID,值)?

  14. 14

    document.querySelectorAll-如何避免使用给定参数获取嵌套元素?

  15. 15

    如何使用document.querySelectorAll()到jQuery中以提高性能?

  16. 16

    我如何为每个相同的Class元素将此js函数用于document.querySelectorAll

  17. 17

    库中的querySelectorAll

  18. 18

    querySelectorAll-如何仅获取特定div中的元素

  19. 19

    使用querySelectorAll从多个选择中获取值

  20. 20

    搜索querySelectorAll调用的结果

  21. 21

    如何获取集合中每个属性的“类型”?

  22. 22

    .querySelectorAll如何仅采用具有所有属性的元素

  23. 23

    JavaScript:将每个 querySelectorAll 结果推送到变量中

  24. 24

    querySelectorAll 用于分组数据属性

  25. 25

    如何拆分 querySelectorAll 结果?

  26. 26

    如何为每个元素使用“querySelectorAll”获取两个不同的事件?

  27. 27

    如何为 querySelectorAll 选择器返回的数组中的每个 HTML 元素分配一个整数值

  28. 28

    如何在javascript中使用querySelectorAll和addEventListener获取点击元素的文本

  29. 29

    我如何在反应中获得 querySelectorAll html 元素?

热门标签

归档