Javascript JQuery选择父节点并更改其类名 ABC bcs abc 123

Javascript JQuery选择父节点并更改其类名 ABC bcs abc 123,javascript,jquery,Javascript,Jquery,我想更改div class=“abcdef”的类,因为在我的例子中,我将有很多以“abc..”开头的类的div 但是我这里唯一一致的id是id=“A”,所以我想利用它 所以,我的jquery应该 选择id=“A” 查找其类以“abc”开头的父节点 更改类名 *编辑 除了.parentNode之外,我对选择父节点没有太多的想法,这是最主要的关注点,如果我可以选择父节点,我想我可以整理更改类名您可以找到A元素,然后使用.closest()与属性一起,从选择器开始查找带有classabc*的div元素

我想更改div class=“abcdef”的类,因为在我的例子中,我将有很多以“abc..”开头的类的div

但是我这里唯一一致的id是id=“A”,所以我想利用它

所以,我的jquery应该

  • 选择id=“A”
  • 查找其类以“abc”开头的父节点
  • 更改类名
  • *编辑
    除了.parentNode之外,我对选择父节点没有太多的想法,这是最主要的关注点,如果我可以选择父节点,我想我可以整理更改类名您可以找到
    A
    元素,然后使用.closest()与属性一起,从选择器开始查找带有class
    abc*
    的div元素,然后删除该类并添加新类

    <div class="abcdef">ABC
    <div class="B">bcs</div>
    <div id="A" class="C"></div>
    <select id="D" style="width:200px;">
        <option value="abc">abc</option>
        <option value="123">123</option>
    </select>
    </div>
    
    **如果“#A”是“.abc…”的子项

    如果是。abc。。在#A之前

     $('#A').parents('div[class^=abc]').removeClass().addClass('NewClass');
    

    如果在DOM中,该div是
    #A.


    到目前为止,你累了什么?所以写你的代码吧。(我不明白你在问什么,而且你似乎已经足够了解这个问题了,可以想出一个很好的算法。)有一个#a的父节点和abcdef类,它是一个兄弟节点…使用,带有正确的选择器(你会找到)。我认为使用类来实现这一点不是最佳实践,不保证在向元素添加或删除类之后,“abcdef”将处于开始位置。嗨,我假设第二个代码本身可以工作,我这样说对吗?事实上,我的场景并非如此,那里有许多id为“A”的div,我希望它附近的所有div都以“abc”开头,而不是只有一个,代码会这样工作吗?@AnnaBoyle id属性必须是唯一的。。。因此,id为
    A
    的元素不能超过1个,请使用class属性对类似元素进行分组elements@AnnaBoyle另外,您想将相同的类添加到所有选定的div还是不同的div,因此我应该将id=“A”更改为class=“A”?代码应该是。A而不是#A?@AnnaBoyle是的。。像
    而不是
     $('#A').parents('div[class^=abc]').removeClass().addClass('NewClass');
    
     $('#A').prev('div[class^=abc]').removeClass().addClass('NewClass');
    
    $("#A").parent().removeClass().addClass('newclass');