【问题标题】:jQuery Show/Hide divs using same class not working because of html.push?由于 html.push,使用同一类的 jQuery 显示/隐藏 div 不起作用?
【发布时间】:2011-12-14 03:35:08
【问题描述】:

对象是显示-隐藏位于其各自标题下的文本,因此用户阅读标题并在用户想要阅读更多内容时显示或隐藏属于该标题的文本。

我尝试了到目前为止我能在这里找到的任何东西,我们正在讨论动态设置来自电子表格的文本,不能使用 ID,必须使用 .class,一定缺少一些东西,我有这段代码:

...html.push('<div class="comments">' + comment + '</div></div></div>');

但是当我尝试这个Show-Hide code 时,没有任何反应,即使错误控制台什么也没显示。基本上我想显示隐藏.comments 类div,并在每个div 下都有一个显示隐藏切换链接。我说他们是因为.comments div 是在从Google 电子表格单元格/行中提取文本时动态复制的(每个电子表格行一个.comments div)。我试过.nextchildparent,但他们都跟我离婚了,所以我不知道这看起来像是一个动态问题。到目前为止,我只设法将所有 div 全局切换到可见或隐藏状态,但我需要独立切换单个 div。

我更喜欢 jQuery 解决方案,但到目前为止,所有工作都是使用原生 javascript 实现的。

注意:如果跨浏览器截断函数会在每个 .comments div 中的多个单词 (var) 之后附加一个更少的链接,那么我很乐意采用该选项。谢谢你的帮助,记住我还在学习哈哈!

【问题讨论】:

  • html.push('<div style="display:none;" class="comments">' + comment + '</div><button class="toggle">more</button></div></div>'); 也不适用于$('button.toggle').click(function() { $(this).prev('div').toggle(); });。我检查了下面提到的 Scott E 的 alert(),它给出了 0。嗯。

标签: class html toggle push show-hide


【解决方案1】:

我一直在从事一个完全 JS UI 项目,并让自己使用 $('', { properties }).appendTo(BaseElement) 来最好地添加 HTML 元素,因为它每次都会适当地操作 DOM。

但是,如果您在其他地方推送时运气不错,请在执行 $('.class').hide() 的行上设置断点,然后查看 $('.class').length 是什么。或者,如果您无法对代码进行断点,您可以将 alert($('.class').length) 添加到代码中。如果为 0,则您的元素尚未正确添加到 DOM。更改为 append 将确保它们是 DOM 的一部分,因此可以通过 JQuery 定位。

【讨论】:

  • 是的,我也在开发一个 JS UI 及其相关的谷歌小工具link。这暂时超出了我的范围,但我必须找到解决方案。我认为任何检索单元数据的方式都可以,推送或不推送,但我还没有完全理解如何去做。正如你提到的,我会尝试附加的东西。谢谢指点。
  • 没问题。我已经使用 .appendTo 方法几个月了,它就像一个魅力。对于上面的示例,正​​确的代码是:$('<div/>', {'style': 'display: none;', 'class': 'comments', 'html': comment}).click(function() { }).appendTo(html); 或该领域中的其他内容。
  • 啊,DOM!通过用$jq('<div class="expandable">' + comment + '</div></div></div>').appendTo(texte); 替换相关的html.push 实例得到了一些工作,texte 是将html 设置为目标div 的变量。 var $jq = jQuery.noConflict(); 允许我组合使用的两个库。发现使用each() 来寻找和应用可点击功能到标题,允许展开-折叠他们的next() 隐藏内容。在我的情况下,需要使用e.stopImmediatePropagation(); 关闭each()。谢谢appendTo()tip Scott E!
猜你喜欢
  • 1970-01-01
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 1970-01-01
  • 2016-01-24
  • 1970-01-01
相关资源
最近更新 更多