Jquery - 如何在 drupal 视图中只影响一个节点
Jquery - How to affect just one node in drupal view
当我单击drupal视图中的节点时,它会切换视图中每个节点的主体,而不仅仅是我正在单击的节点。如何让 jquery 只切换我正在单击的节点?这是我的节点模板头部的代码(node-type.tpl.php)
<script>
$("button").click(function () {
$(".more").toggle();
});
</script>
以及要切换的正文的代码。
<div class="more"><?php print $node->content['body']['#value']; ?></div>
目前,它在我的整个视图中切换每个带有类"more"的div,而不仅仅是在我正在单击的节点中。如何将其限制为仅单击的节点?
如果一次只打开身体,我也希望它。 即; 单击其他节点时,前一个节点的主体切换关闭。
我敢肯定这可能很容易,但我似乎无法弄清楚......
按钮相对于.more
的位置在哪里?
如果按钮位于 .more
元素中,则需要执行以下操作:
$("button").click(function () {
$('.more').hide();
$(this).closest(".more").show();
});
如果按钮不是.more
的父项或祖先,则需要执行更多操作。 如果按钮与.more
元素的顺序相同(并且没有任何不相关的按钮),则可以执行以下操作:
$("button").click(function () {
$('.more').hide();
$('.more').eq( $('button').index( $(this) ) ).show();
});
但是,最好使用id
和href
或一些jQuery数据将按钮链接到.more
内容:
<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>
脚本:
$(".morebutton").click(function () {
$('.more').hide();
$( $(this).data('more') ).show();
});
演示:http://jsfiddle.net/jtbowden/EfUxt/
有一些库可以帮助处理这些情况,例如jQuery UI Tabs。
你可能想要 jQuery UI 选项卡 http://jqueryui.com/demos/tabs/或其他一些 jQuery 选项卡解决方案。
相关文章:
- 节点导出返回一个空对象
- 可以前端maven插件使用节点,npm已经安装
- 在jstree中,如何将指定的节点集中到大型树上
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 节点.js cron 是否会影响系统性能
- Jquery - 如何在 drupal 视图中只影响一个节点
- 使用共享类影响所有节点
- 插入的DOM节点不受CSS影响
- Nodejs——来自节点服务器的许多REST调用将影响整体性能
- 大列表中React子节点上的重复键对性能的影响
- “闭包”是怎么做到的?影响jQuery中dom节点的嵌套遍历
- IE和document.implementation.createDocument() -哪些参数影响正确的html节点
- 在Kinetic.js中,原型节点没有'不影响所有的孩子吗
- 删除属性节点如何影响DOM4中的NamedNodeMap属性