我有一个简短的脚本,可以将给定链接的内容加载到元素中。内容取决于所点击链接的ID。 我面临的问题是它永远不会在第一次点击时加载内容。我需要点击另一个主链接,然后才加载。让你告诉我我得到了什么:
<div class="mainTabs">
<ul>
<li class="activeTab"><a href="#skills">Skills</a></li>
<li id="secondTab"><a href="#certificates">Certificates</a></li>
</ul>
<div class="tabsContent">
<div id="skills" class="tab active">
{% include "./_skills.html" %}
</div>
<div class="tab" id="certificates">
{% include "./_certsList.html" %}
</div>
</div>
Jquery是:
$(document).ready(function(){
$('.textBox h3').load("{% url 'aboutme' %}");
$('.row li').on('click', function(e){
e.preventDefault();
$('.activeSkill').removeClass('activeSkill');
$(this).find('a').addClass('activeSkill');
var link = $(this).find('a').attr('href');
$('.textBox h3').load(link);
});
});
我们说我点击“证书”#39;。首先不加载下面的页面,只有当我点击另一个链接然后加载它。这可能是什么问题?
答案 0 :(得分:0)
我在没有完整的例子的情况下努力理解这一点,但我对此的解释是逻辑似乎是错误的:
以下行删除了所有&#39; activeSkill&#39;来自DOM的类。
$('.activeSkill').removeClass('activeSkill');
下一行添加了&#39; activeSkill&#39;被点击的<a>
下的<li>
的课程......是有意的吗?
$(this).find('a').addClass('activeSkill');
你能解释activeSkill
的作用是什么吗?您也不应该在所选标签active
上设置<div>
课程,并将其从当前有效的<div>
中移除?