Javascript JQuery本地模拟与远程系统

Javascript JQuery本地模拟与远程系统,javascript,jquery,html,toggle,Javascript,Jquery,Html,Toggle,恐怕我已经在某个地方问过类似的问题了,但我没能找到解决办法 以下是我的环境+目的: 我有一个非常简单的HTMLjQuery设置,其目的是当一个页面有超过5个h3时,折叠后面的内容。每个h3后面都有一个或多个段落。如果一个页面包含超过5个h3,则属于h3的所有内容都应自动折叠(隐藏),在单击相应的h3时显示,并在再次单击时隐藏 这是我的jquery代码: $(document).ready(function() { if ($('h3').length > 4) { var hea

恐怕我已经在某个地方问过类似的问题了,但我没能找到解决办法

以下是我的环境+目的: 我有一个非常简单的HTMLjQuery设置,其目的是当一个页面有超过5个h3时,折叠后面的内容。每个h3后面都有一个或多个段落。如果一个页面包含超过5个h3,则属于h3的所有内容都应自动折叠(隐藏),在单击相应的h3时显示,并在再次单击时隐藏

这是我的jquery代码:

$(document).ready(function() {

if ($('h3').length > 4) {
    var headlines = $('h3').slice(3);
    var start = $('h3').slice(3,4);     
    var content = start.nextAll().not('h6');

    headlines.addClass('expandable-headline');
    content.hide(); 

    headlines.click(function() {        
        var successors = $(this).nextUntil('h3');
        successors.toggle();
        $(this).toggleClass('expandable-headline');
    }); 
}
});
这是我的html

< h3>ABC</h3 >  
< p>some nice content</p >
< h3>ABC</h3>
< p>some nice content</p>
< p>some even nicer content</p>
声明,$(this).nextUntil不是一个函数

有什么想法吗,这是怎么回事

非常感谢您的帮助。
最佳问候,

Sunny

这是版本控制问题吗


nextUntil是在v1.4中添加的,因此,如果您的Drupal系统引用的是较旧版本的jQuery,这就是问题所在。

您的jQuery版本是否相同

要测试这一点,请在每页的脚本中插入这行代码:

alert(jQuery.fn.jquery);
它将
alert()
您的版本号

如果搜索
nextUntil
,您将看到它是在版本1.4中添加的,因此您的Drupal jQuery版本可能很旧


如果您计划升级jQuery(我不使用Drupal.Wordpress,对我来说很好),那么这个问题似乎很重要:。

确保页面上没有包含多个jQuery文件。一些drupal模块将自己的jquery库插入到使用它们的页面中,如果它们的版本不正确,您引用的jquery对象可能会被覆盖,这就是页面无法工作的原因。

当您更改版本时,这是从CDN加载jquery的绝佳机会,这比从您自己的服务器提供服务要快。请参见此处:是否有一个不断更新的版本(由于缓存的原因,这可能是不可能的),如
http://ajax.googleapis.com/ajax/libs/jquery/current/jquery.min.js
?把它塞进我的
标签中,不用担心更新,这将是一件好事……同意,这将是一件好事,但事实上,不这样做有一个好处。例如,jQueryUI即将改变某些元素的工作方式。因此,下一个版本将支持新方法和旧方法,而下一个版本将弃用旧方法。我们大多数(所有)人现在都有将被弃用的代码。所以,如果它是自动的,有一天我们所有使用jQueryUI的东西都会坏掉,那就糟糕了。我只是在我的日历上安排每月检查每一个开源软件,到目前为止,它工作得很好。谢谢。到目前为止,jq的不同版本似乎是我这个问题的根源。谁会知道,Drupal jquery更新模块没有完成更新jquery的任务呢。当然,有些人喜欢——我不喜欢。谢谢你帮助搅拌机!代码片段和链接。当我使用jQuery时,它非常微妙;在这里和那里的影响,没有什么太重要的网站设计。但我没有考虑jQuery UI,因为它似乎发展得很快。说得好。
alert(jQuery.fn.jquery);