Jquery在第一次点击时不会加载内容

时间:2018-01-06 21:46:22

标签: jquery html

我有一个简短的脚本,可以将给定链接的内容加载到元素中。内容取决于所点击链接的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;。首先不加载下面的页面,只有当我点击另一个链接然后加载它。这可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我在没有完整的例子的情况下努力理解这一点,但我对此的解释是逻辑似乎是错误的:

以下行删除了所有&#39; activeSkill&#39;来自DOM的类。

$('.activeSkill').removeClass('activeSkill');

下一行添加了&#39; activeSkill&#39;被点击的<a>下的<li>的课程......是有意的吗?

$(this).find('a').addClass('activeSkill');

你能解释activeSkill的作用是什么吗?您也不应该在所选标签active上设置<div>课程,并将其从当前有效的<div>中移除?