我需要更改属性&aria-expanded'来自' true'到'假'只需单击即可获得所有UL和所有LI。 我很难弄清楚如何做到这一点。
这是示例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>
&#13;
你能帮帮我吗?
答案 0 :(得分:1)
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>
答案 1 :(得分:0)
好的,我试过这个并且有效!
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>