javascript - 使用 jquery 获取的 url 参数扩展 Accordion 菜单并将 attr 添加到所需的类

标签 javascript jquery html css

大家晚上好,我在更改 div 样式属性时遇到了问题。所以,我有这段代码: URL 示例:www.example.com"/?page_id=410&ai1ec=action~oneday&post=289

    $( document ).ready(function() {

function getUrlParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    console.log(sURLVariables);

    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }

}

下面部分是检查和添加样式属性。

    var blog = getUrlParameter('post');
console.log(blog);   
    var idx = 1;
    if ($('.ai1ec-event').hasClass('ai1ec-event-id-'+blog)){

    /*$('.ai1ec-event').addClass('ai1ec-expanded');*/
    $('.ai1ec-event-summary').eq(idx).attr('style','display:block');
    idx++;  
    }

});

我用它来扩展选择帖子编号的 Accordion 菜单,到目前为止我已经做到了,但它只适用于第一个 Accordion (我现在有 3 个,我打算在我修复后放更多这个)。

还有html代码:

<div class="ai1ec-date-events">
    <div class="ai1ec-event         ai1ec-event-id-290         ai1ec-event-instance-id-65">

        <div class="ai1ec-event-header"></div>
        <div class="ai1ec-event-summary " style="display: none;">
    </div>
</div>

<div class="ai1ec-date-events">
    <div class="ai1ec-event         ai1ec-event-id-289         ai1ec-event-instance-id-66">

        <div class="ai1ec-event-header"></div>
        <div class="ai1ec-event-summary " style="display: block;">
    </div>
</div>

<div class="ai1ec-date-events">
    <div class="ai1ec-event         ai1ec-event-id-288         ai1ec-event-instance-id-67">

        <div class="ai1ec-event-header"></div>
        <div class="ai1ec-event-summary " style="display: none;">
    </div>

因此,我需要将 ai1ec-event-summary 样式更改为 display:block;但我只能为其中一个 Accordion 做到这一点。有没有人建议如何做到这一点?

最佳答案

将您的函数修改为以下内容:

if ($('.ai1ec-event').hasClass('ai1ec-event-id-'+blog)) {
    $('.ai1ec-event-id-'+blog+' .ai1ec-event-summary').attr('style','display:block');
}

由于您拥有博客 ID,因此无需跟踪面板的索引。

关于javascript - 使用 jquery 获取的 url 参数扩展 Accordion 菜单并将 attr 添加到所需的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910180/

相关文章:

javascript - 在 Google Chrome 中创建面板

javascript - Jquery/CSS3 转换链接只能部分工作

javascript - 如何解决调用d3.layout.histogram().bins(...)(...)时数据未定义的问题

html - 背景颜色不会拉伸(stretch) div 的全高

html - CSS 网格布局 : Three rows grid

javascript - Jquery 表单验证不起作用,未使用插件

jquery - 实现相同元素的最优雅的方式?

javascript - 渐变背景颜色的切换功能

javascript - 默认勾选,如果不勾选则保持不勾选

用于 Assets (样式表、JavaScript、图像等)的 HTML5 localStorage