Javascript 使用jqueryaccordion编辑页面的其他元素-active&;违约

Javascript 使用jqueryaccordion编辑页面的其他元素-active&;违约,javascript,jquery,html,accordion,jquery-ui-accordion,Javascript,Jquery,Html,Accordion,Jquery Ui Accordion,我有这个基本的手风琴 $('#accordion').accordion({ collapsible: true, active: false, heightStyle: "content", }); 当手风琴打开(状态:活动)和关闭(状态:默认)时,我想影响页面上的其他元素(h3、p等)(特别是手风琴下面的元素) 我已经知道如何在状态改变时编辑手风琴的标题和内容本身,但我不知道如何影响页面上不属于手风琴的外部元素。我该怎么做 HTML基本样式重复三次: <

我有这个基本的手风琴

 $('#accordion').accordion({ 
    collapsible: true, 
    active: false,
    heightStyle: "content",
 });
当手风琴打开(状态:活动)和关闭(状态:默认)时,我想影响页面上的其他元素(h3、p等)(特别是手风琴下面的元素)

我已经知道如何在状态改变时编辑手风琴的标题和内容本身,但我不知道如何影响页面上不属于手风琴的外部元素。我该怎么做

HTML基本样式重复三次:

<div>
     <h3>Heading</h3>
     <p>Blah Blah Blah</p>
</div>

标题
废话废话


我相信这就是你想要的:

测试

$('#accordion').accordion({ 
     collapsible: true, 
     active: false,
     heightStyle: "content",
     activate: function( event, ui ) {
         console.log(ui.newHeader.prop("id"));
     }
});
注意:当前,如果您打开另一个标头,它将输出打开的标头的id,但是如果您关闭打开的标头,它将返回
未定义的
,可用于将来的检查。。有关更多信息,请单击


看看这个..

你能给我们举个更清楚的例子吗,比如提供HTML结构等等..嘿,我试过这个方法,但是没有改变。我把$('skills').css('background','blue');检查它是否会改变这个div,但它没有。它起作用了!但是它有一个bug——当我关闭open头时,它只是再次执行activate中的函数。我已经尝试从代码中删除active:false,但没有效果。这不是一个bug,在。。这就是为什么我告诉你如果你不想做任何事情,如果你选择了相同的标题,那么使用
if(ui.newHeader.prop(“id”)!=undefined)
作为你的条件。好的,我知道了。我很抱歉没有意识到!有没有什么捷径可以将我在if语句中所做的任何更改还原为默认值?我不这么认为,我想您必须手动还原所有内容。。顺便说一句,试着自己修改一下,如果有问题,然后再提出一个新问题。。我想我已经回答了你的主要问题^^