我尝试了几种不同的方法来通过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;
if (ENV.current_user_roles.indexOf("admin") < 1){
$( document ).ready(function() {
document.querySelector('#section-tabs a.context_external_tool_375').innerHTML = "Syllabus";
});
}
&#13;
会感激一些帮助: - )
答案 0 :(得分:0)
您有完全正确的想法,并且您的代码应按预期工作。但是,检查用户是否为管理员的条件应该确实来自$(document).ready()
。话虽如此,它仍然会触发您现在的方式。
因此,只有两种可能导致脚本无法为您工作的事情:
包含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>
希望这有帮助! :)