我试过了:
<a href="javascript:mifunction()"></a>
js:
function mifunction(){
$(this).addClass('active');
}
但它不起作用,所以我尝试了这个:
<a></a>
js:
$('a').click(function() {
$(this).addClass('active');
});
它也不起作用。当我混合两者时它才起作用。但是用户必须点击该元素,这不是一个选项:
<a href="javascript:mifunction()"></a>
js:
function mifunction(){
$('a').click(function() {
$(this).addClass('active');
});
}
你知道如何解决这个问题吗?
非常感谢!
答案 0 :(得分:3)
这是你的第二个例子:
可能需要将jQuery代码包装在:
中$(function() {
$('a').click(function() {
$('a.active').removeClass('active'); // you may also want to remove previous
$(this).addClass('active');
});
});
还要确保在HTML中包含jQuery库路径:
<script type="text/javascript" src="/path/jQuery.min.js"></script>
或强>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
$(function() {
$('a').on( 'click', function() {
$('a.active').removeClass('active'); // you may also want to remove previous
$(this).addClass('active');
});
});
答案 1 :(得分:2)
您正在混合和匹配使用DOM和JavaScript的新旧方法。
$('a').click(function() {
$(this).addClass('active');
}
应该可以正常工作。
只需将其放入$(document).ready(function() {});
所以..从字面上看它应该是这样的:
<script type="text/javascript">
$(document).ready(function() {
$('a').click(function() {
$(this).addClass('active');
});
});
</script>
<a>Click me</a>
另外,如果你只想尝试...你可以通过CSS来做
对于活跃:a:active { color: orange; }
已访问:a:visited { color:green; }
答案 2 :(得分:2)
你的问题必须存在于其他地方,因为这样可以正常工作:
$('a').click(function () {
$(this).addClass('active');
});
如果要动态创建锚点,则应使用.on()
代替:
$('#container').on('click', 'a', function () {
$(this).addClass('active');
});
.on()
的示例:http://jsfiddle.net/jbabey/bqgFN/1/
.on()
的文档:http://api.jquery.com/on/
答案 3 :(得分:1)
尝试如下所示,
<a class="link" href="javascript:void(0)"></a>
$(function () {
$('.link').click (function () {
$(this).addClass('active');
});
});