[英]Targeting children of sibling elements
下面的代碼的目標fieldsets
是兄弟姐妹,使得那些fieldsets
可以當被啟用input buttons
中的前一個被選擇:
document.querySelectorAll("fieldset").forEach(fieldset => {
fieldset.addEventListener("change", function() {
let nextFieldset = this.nextElementSibling
while (nextFieldset && !nextFieldset.disabled) {
nextFieldset = nextFieldset.nextElementSibling
}
if (nextFieldset) {
nextFieldset.disabled = false
}
})
})
<form>
<fieldset> … </fieldset>
<fieldset> … </fieldset>
<fieldset> … </fieldset>
</form>
如何定位單獨
sections
fieldsets
?
<form>
<section><fieldset> … </fieldset></section>
<section><fieldset> … </fieldset></section>
<section><fieldset> … </fieldset></section>
</form>
這是完整的工作解決方案:
document.querySelectorAll("section").forEach(section => {
section.addEventListener("change", function() {
let nextFieldset = this.nextElementSibling.querySelector("fieldset")
while (nextFieldset && !nextFieldset.disabled) {
nextFieldset = nextFieldset.nextElementSibling
}
if (nextFieldset) {
nextFieldset.disabled = false
}
})
})
我認為這將解決您的問題
document.querySelectorAll("fieldset").forEach(fieldset => {
fieldset.addEventListener("click", function() {
let nextFieldParent = this.parentElement.nextElementSibling;
let nextFieldset = nextFieldParent.firstElementChild;
while (nextFieldset && !nextFieldset.disabled) {
nextFieldParent = this.parentElement.nextElementSibling;
nextFieldset = nextFieldParent.firstElementChild;
}
if (nextFieldset) {
nextFieldset.disabled = false
}
})
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.