大家晚上好,我在更改 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/