更改导航块中的链接标题

时间:2017-12-12 22:16:57

标签: javascript html navigation title

我尝试了几种不同的方法来通过Javascript更改导航块中链接的标题,但无济于事。

我有什么遗失的东西吗?

以下是网站上的原始代码:

<div id="left-side" class="ic-app-course-menu list-view" style="display: block">
          <span id="section-tabs-header-subtitle" class="ellipsis">Sandbox</span>
        <nav role="navigation" aria-label="Courses Navigation Menu"><ul id="section-tabs"><li class="section"><a href="/courses/16289" title="Home" class="home" tabindex="0">Home</a></li><li class="section"><a href="/courses/16289/external_tools/375" title="Course Syllabus" class="context_external_tool_375" tabindex="0">Course Syllabus</a></li><li class="section"><a href="/courses/16289/modules" title="Modules" class="modules active" tabindex="0">Modules</a></li><li class="section"><a href="/courses/16289/grades" title="Grades" class="grades" tabindex="0">Grades</a></li><li class="section"><a href="/courses/16289/users" title="People" class="people" tabindex="0">People</a></li></ul></nav>
    </div>

以下是我试图更改标题&#34;课程大纲&#34;只是&#34;教学大纲&#34;

&#13;
&#13;
if (ENV.current_user_roles.indexOf("admin") < 1){  
  $( document ).ready(function() {  
  document.querySelector('#section-tabs a.context_external_tool_375').innerHTML = "Syllabus";  
});  
}  
&#13;
&#13;
&#13;

会感激一些帮助: - )

1 个答案:

答案 0 :(得分:0)

您有完全正确的想法,并且您的代码按预期工作。但是,检查用户是否为管理员的条件应该确实来自$(document).ready() 。话虽如此,它仍然会触发您现在的方式。

因此,只有两种可能导致脚本无法为您工作的事情:

  • 您忘记包含jQuery
  • 您的情况并未评估为真实

包含jQuery并将条件替换为始终为true的条件显示名称更改有效,如以下示例所示:

$(document).ready(function() {
  if (1) {
    document.querySelector('#section-tabs a.context_external_tool_375').innerHTML = "Syllabus";
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="left-side" class="ic-app-course-menu list-view" style="display: block">
  <span id="section-tabs-header-subtitle" class="ellipsis">Sandbox</span>
  <nav role="navigation" aria-label="Courses Navigation Menu">
    <ul id="section-tabs">
      <li class="section"><a href="/courses/16289" title="Home" class="home" tabindex="0">Home</a></li>
      <li class="section"><a href="/courses/16289/external_tools/375" title="Course Syllabus" class="context_external_tool_375" tabindex="0">Course Syllabus</a></li>
      <li class="section"><a href="/courses/16289/modules" title="Modules" class="modules active" tabindex="0">Modules</a></li>
      <li class="section"><a href="/courses/16289/grades" title="Grades" class="grades" tabindex="0">Grades</a></li>
      <li class="section"><a href="/courses/16289/users" title="People" class="people" tabindex="0">People</a></li>
    </ul>
  </nav>
</div>

希望这有帮助! :)