Javascript 以兄弟元素的子元素为目标

Javascript 以兄弟元素的子元素为目标,javascript,html,Javascript,Html,以下代码针对同级字段集,以便在上一个字段集中选择输入按钮时可以启用这些字段集: document.querySelectorAll("fieldset").forEach(fieldset => { fieldset.addEventListener("change", function() { let nextFieldset = this.nextElementSibling while (nextFieldset && !nextFieldset

以下代码针对同级字段集,以便在上一个字段集中选择输入按钮时可以启用这些字段集:

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
    }
  })
})

以下是完整的工作解决方案:

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
    }
  })
})
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
    }
  })
})