首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery -如何在drupal视图中只影响一个节点

Jquery -如何在drupal视图中只影响一个节点
EN

Stack Overflow用户
提问于 2012-04-12 07:52:19
回答 2查看 170关注 0票数 0

当我在drupal视图中单击一个节点时,它会切换视图中每个节点的主体,而不仅仅是我正在单击的节点。如何让jquery仅切换我正在单击的节点?下面是我的节点模板( node -type.tpl.php)头部的代码。

代码语言:javascript
复制
 <script>
 $("button").click(function () {
 $(".more").toggle();
 });
 </script>

以及要切换的主体的代码。

代码语言:javascript
复制
 <div class="more"><?php print $node->content['body']['#value']; ?></div>

目前,它在我的整个视图中切换类为"more“的每个div,而不仅仅是在我所单击的节点中。如何将其限制为仅单击的节点?

我也喜欢它,如果身体在同一时间是打开的。当一个不同的节点被点击时,前一个节点的主体切换为关闭。

我相信这可能很容易,但我就是想不通……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-12 07:58:44

该按钮相对于.more位于何处

如果按钮位于.more元素中,则需要执行以下操作:

代码语言:javascript
复制
$("button").click(function () {
    $('.more').hide();
    $(this).closest(".more").show();
});

如果该按钮不是.more的父级或祖先,则需要执行更多操作。如果这些按钮与.more元素的顺序相同(并且没有任何不相关的按钮),则可以这样做:

代码语言:javascript
复制
$("button").click(function () {
    $('.more').hide();
    $('.more').eq( $('button').index( $(this) ) ).show();
});

但是,最好使用idhref或一些jQuery数据将按钮链接到jQuery内容:

代码语言:javascript
复制
<button class='morebutton' data-more="#more1">Button 1</button>
<button class='morebutton' data-more="#more2">Button 2</button>
<div class='more' id="more1">More Number 1</div>
<div class='more' id="more2">More Number 2</div>

脚本:

代码语言:javascript
复制
$(".morebutton").click(function () {
    $('.more').hide();
    $( $(this).data('more') ).show();
});

演示:http://jsfiddle.net/jtbowden/EfUxt/

有一些库可以帮助处理这类情况,例如jQuery UI Tabs。

票数 1
EN

Stack Overflow用户

发布于 2012-04-12 08:00:28

您可能需要jQuery UI选项卡、http://jqueryui.com/demos/tabs/或其他一些jQuery选项卡解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10115592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档