标题已更改,但仅在生成的代码中。这是JS的工作方式-它仅处理表现层。尝试使用Firefox的Webdeveloper工具栏,因为它有显示生成代码和原始代码的选项。如果您需要其他方法,请考虑使用一些服务器端编程。
我的观察:
不要将JS与HTML混合使用。如果您需要更新代码,这样做会更容易 - 搜索“非侵入式JS”以更好地掌握此问题。因此,<a href="javascript:...">
或<a href="#" onclick="...">
是一种不良的编码实践。
不要为简单的任务使用大型JS包,如JQuery。只有在充分利用它们的功能时才能发挥其优势。
您真的需要即时执行HTML操作吗?为什么?标题工具提示对您的代码是否很重要?谁应该从中受益:最终用户还是管理员?无障碍性如何?
第一个代码块的信息:
- 如果我们不知道要使用哪个链接,我们必须收集所有链接
- 然后测试集合是否符合onclick事件
- 建议:
- 仅从页面的特定部分(主要或导航div)收集链接以提高速度
- 注意事项:
- 这可能会减慢页面呈现速度
- 标题属性是硬编码的,并且对所有链接都相同
function changeTitle1(){
var a = document.getElementsByTagName('a');
for (var i = 0, j = a.length; i
- 关于第二个代码块的信息:
- 我们知道要检查哪个链接
- 建议:
- 注意事项:
- 这只能用于单个元素
- title属性是硬编码的,对所有链接都相同
function changeTitle2(){
var a = document.getElementById('action_link');
a.onclick = function() {
try{
this.title = 'This unique click happened as well!';
return false;
}
finally{a = null;}
}
}
window.onload = function() {
changeTitle1();
}
@spiro:关于你的第二个问题,关于链接当前状态和更改它们的CSS...好吧,使用CSS :)
简短版:
<style type="text/css" media="screen">
#home #current-home a,
#contact #current-contact a,
#about #current-about a
{/* declarations to style the current state */}
</style>
</head>
<body id="home"> <!-- OR body id="contact" OR body id="about" -->
<a href="#" title="Home" class="current-home">Home</a>
<a href="#" title="Contact" class="current-contact">Contact</a>
<a href="#" title="About us" class="current-about">About us</a>
长版本:http://www.456bereastreet.com/archive/200503/setting_the_current_menu_state_with_css/
(也要读评论)
注意:如果您已经在当前页面上,是否有必要显示链接?