Drupal 7 + jQuery,如何让jQuery只与主动节点(通过nid)进行交互而不是列表中的每个节点

我一直在搜索这个主题没有任何运气很长时间,如果我错过了一个较旧的主题,请指出我正确的方向。

我想要实现的目标:

定期查看多个节点并通过按下节点内的按钮(或其他任何内容)使jQuery以任何方式与此特定节点进行交互。 防爆。 使隐藏的div出现。

我面临的问题是初学者,我仍然发现很难与d7一起使用jQuery。 我以前一直在使用jQ很长一段时间但是当它与D7一起使用时我面临着重大问题。

最大的问题是,一旦我使jQ工作,它就会影响列表/提要中的每个可见节点,因为我通过div id或类调用该函数。 我理解为什么会发生这种情况,但我无法弄清楚的是如何让jQ仅对按下按钮的节点产生影响。

到目前为止,这是我在节点模板中针对特定内容类型的内容:

 (function ($) { $('.up2').click(function () { $('.nummer_dark').text(parseInt($('.nummer_dark').text())+1,0).toFixed(2); $('.up2').toggle(); }); $('.up').one('click', function() { $('.flag-link-toggle').click();once(); }); })(jQuery);  

这只是一个例子,我试图通过按下具有up2-class的对象来增加跨度内的数字,并通过按下具有up-class的对象来切换标记。

第一个代码有效,但数字增加了小数(2.453,3.4123等)而不是我计划的1,2,3,4。 但主要的问题是这两个代码都在列表中的每个节点上生效..我知道这是因为列表中的每个节点都有相同的节点模板,因此相同的类但我想找到一个解决方案使用jQ中的node-id。

任何领先的答案都会节省我的一天! =)

我会使用.closest().find()方法。 这将允许您仅查找包含刚刚单击的按钮的父节点,以便您可以只查找和更改该节点的子元素。 这是一些快速的伪代码,展示了它是如何工作的。

 $('.up2').click(function() { $(this).closest('.node').find('.nummer_dark').text(); }