单击即可更改所有 UL 和 LI 标签的属性
Change attribute of all UL and LI tags on a single click
我需要一次单击将所有 UL 和所有 LI 的属性 'aria-expanded' 从 'true' 更改为 'false'。
我很难弄清楚该怎么做。
这是示例 html
<h2>List 1 </h2>
<ul aria-expanded="true">
<li aria-expanded="true">Orange
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</li>
<li>Mango</li>
<li>Pineapple</li>
</ul>
<h2>List 2</h2>
<ul aria-expanded="true">
<li>Orange</li>
<li aria-expanded="true">Mango
<ul>
<li>D</li>
<li>E</li>
<li>F</li>
</ul>
</li>
<li>Pineapple</li>
</ul>
<h2>List 3</h2>
<ul aria-expanded="true">
<li>Orange</li>
<li>Mango</li>
<li aria-expanded="true">Pineapple
<ul>
<li>G</li>
<li>H</li>
<li>I</li>
</ul>
</li>
</ul>
<button onclick="changeAttr()">Change attribute</button>
你能帮我做一下吗?
function changeAttr () {
document
.querySelectorAll("ul[aria-expanded='true'], li[aria-expanded='true']")
.forEach(node=>node.setAttribute('aria-expanded', false))
}
<h2>List 1 </h2>
<ul aria-expanded="true">
<li aria-expanded="true">Orange
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</li>
<li>Mango</li>
<li>Pineapple</li>
</ul>
<h2>List 2</h2>
<ul aria-expanded="true">
<li>Orange</li>
<li aria-expanded="true">Mango
<ul>
<li>D</li>
<li>E</li>
<li>F</li>
</ul>
</li>
<li>Pineapple</li>
</ul>
<h2>List 3</h2>
<ul aria-expanded="true">
<li>Orange</li>
<li>Mango</li>
<li aria-expanded="true">Pineapple
<ul>
<li>G</li>
<li>H</li>
<li>I</li>
</ul>
</li>
</ul>
<button onclick="changeAttr()">Change attribute</button>
好的,我试过了,成功了!
function changeAttr() {
var myUL = document.getElementsByClassName('mainMenu');
var myLI = document.getElementsByClassName('childMenu');
for (var obj of myUL) {
obj.setAttribute('aria-expanded', 'false');
}
}
<h2>List 1 </h2>
<ul class="mainMenu" aria-expanded="true">
<li class="childMenu" aria-expanded="true">Orange
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</li>
<li class="childMenu" aria-expanded="false">Mango</li>
<li class="childMenu" aria-expanded="false">Pineapple</li>
</ul>
<h2>List 2</h2>
<ul class="mainMenu" aria-expanded="true">
<li class="childMenu" aria-expanded="false">Orange</li>
<li class="childMenu" aria-expanded="true">Mango
<ul>
<li>D</li>
<li>E</li>
<li>F</li>
</ul>
</li>
<li class="childMenu" aria-expanded="false">Pineapple</li>
</ul>
<h2>List 3</h2>
<ul class="mainMenu" aria-expanded="true">
<li class="childMenu" aria-expanded="false">Orange</li>
<li class="childMenu" aria-expanded="false">Mango</li>
<li class="childMenu" aria-expanded="true">Pineapple
<ul>
<li>G</li>
<li>H</li>
<li>I</li>
</ul>
</li>
</ul>
<button onclick="changeAttr()">Change attribute</button>
我需要一次单击将所有 UL 和所有 LI 的属性 'aria-expanded' 从 'true' 更改为 'false'。 我很难弄清楚该怎么做。
这是示例 html
<h2>List 1 </h2>
<ul aria-expanded="true">
<li aria-expanded="true">Orange
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</li>
<li>Mango</li>
<li>Pineapple</li>
</ul>
<h2>List 2</h2>
<ul aria-expanded="true">
<li>Orange</li>
<li aria-expanded="true">Mango
<ul>
<li>D</li>
<li>E</li>
<li>F</li>
</ul>
</li>
<li>Pineapple</li>
</ul>
<h2>List 3</h2>
<ul aria-expanded="true">
<li>Orange</li>
<li>Mango</li>
<li aria-expanded="true">Pineapple
<ul>
<li>G</li>
<li>H</li>
<li>I</li>
</ul>
</li>
</ul>
<button onclick="changeAttr()">Change attribute</button>
你能帮我做一下吗?
function changeAttr () {
document
.querySelectorAll("ul[aria-expanded='true'], li[aria-expanded='true']")
.forEach(node=>node.setAttribute('aria-expanded', false))
}
<h2>List 1 </h2>
<ul aria-expanded="true">
<li aria-expanded="true">Orange
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</li>
<li>Mango</li>
<li>Pineapple</li>
</ul>
<h2>List 2</h2>
<ul aria-expanded="true">
<li>Orange</li>
<li aria-expanded="true">Mango
<ul>
<li>D</li>
<li>E</li>
<li>F</li>
</ul>
</li>
<li>Pineapple</li>
</ul>
<h2>List 3</h2>
<ul aria-expanded="true">
<li>Orange</li>
<li>Mango</li>
<li aria-expanded="true">Pineapple
<ul>
<li>G</li>
<li>H</li>
<li>I</li>
</ul>
</li>
</ul>
<button onclick="changeAttr()">Change attribute</button>
好的,我试过了,成功了!
function changeAttr() {
var myUL = document.getElementsByClassName('mainMenu');
var myLI = document.getElementsByClassName('childMenu');
for (var obj of myUL) {
obj.setAttribute('aria-expanded', 'false');
}
}
<h2>List 1 </h2>
<ul class="mainMenu" aria-expanded="true">
<li class="childMenu" aria-expanded="true">Orange
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</li>
<li class="childMenu" aria-expanded="false">Mango</li>
<li class="childMenu" aria-expanded="false">Pineapple</li>
</ul>
<h2>List 2</h2>
<ul class="mainMenu" aria-expanded="true">
<li class="childMenu" aria-expanded="false">Orange</li>
<li class="childMenu" aria-expanded="true">Mango
<ul>
<li>D</li>
<li>E</li>
<li>F</li>
</ul>
</li>
<li class="childMenu" aria-expanded="false">Pineapple</li>
</ul>
<h2>List 3</h2>
<ul class="mainMenu" aria-expanded="true">
<li class="childMenu" aria-expanded="false">Orange</li>
<li class="childMenu" aria-expanded="false">Mango</li>
<li class="childMenu" aria-expanded="true">Pineapple
<ul>
<li>G</li>
<li>H</li>
<li>I</li>
</ul>
</li>
</ul>
<button onclick="changeAttr()">Change attribute</button>