2017-09-28 32 views
0

我想能够添加一个类到div元素,但只有在一个类被添加到另一个元素后。jQuery等待类添加然后添加类

当类“.added”已添加到a.add_to_cart_button添加一个新的类

<a class="lm-added-message"></a> 

所谓的‘秀’。

结果:

<a class="added_to_cart_button added"></a> 

<a class="lm-added-message show"></a> 

我目前使用以下,但它的工作:

jQuery(document).on('DOMNodeInserted', function (e) { 
    if (e.target.className == 'added') { 
     jQuery(".lm-added-message").addClass("show"); 
    } 
}); 

谢谢

+0

那么,谁加入了班级,如果不是你呢? – adeneo

+0

另外,'DOMNodeInserted'足够奇怪地在插入DOM节点时触发,而不仅仅是改变。你正在寻找突变观察者,或者说,你应该完全寻找其他的东西,因为不需要听课改变。 – adeneo

+0

将物品添加到购物篮时,该类会被添加。这里是执行操作的页面: http://www.lindameredith.com/wp/serum/ 当您单击'添加到包'时,类.added被添加到按钮中。在这一点上,我想通过将类.show添加到隐藏的div来触发确认消息。我不确定最好的方法来做到这一点。 –

回答

0

正如你可以在这里看到: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events,事件您正在搜索的可能是DOMAttrModifiedhttps://www.w3.org/TR/DOM-Level-3-Events/#event-type-DOMAttrModified

突变事件都标为过时,所以建议用MutationObserver替换它们: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver

您还必须检查的className 包含添加,不是等于,因为你有另一班太那里。

+0

现在已解决。谢谢。 –