动态添加样式的js: $(document).ready(function(){ $("#nav ul li").click(function(){ $("#nav ul li").removeClass("current"); $(this).addClass("current"); }); }); <div id="nav" class="clearfix"> <ul> <li class="first"> 123 </li> <li> 456 </li> <li class="last"> 789 </li> </ul> </div>
感谢大家,已经解决,是因为页面刷新了。。。。。。。。。。我的解决方法是获取当前页面的链接地址,然后进行样式的添加或者删除
最后怎么解决的啊,我也遇到这个问题了,alert可以弹出框,但是样式加不上去
<script type="text/javascript">
$(document).ready(function() {
$("li").click(function() {
alert("a");
$("li").addClass("cur");
});
});
</script>
帮我看看呗(jquery-1.3.2.min.js)
楼主的代码我测试过 没有什么问题
$(document).ready(function(){ $("#nav ul li").click(function(){ $("#nav ul li").removeClass("current"); $(this).addClass("current"); }); }); 这个外面加<script> 了吗?
它的外面还有几个<script>
<script> $(document).ready(function(){ $("#nav ul li").click(function(){ $("#nav ul li").removeClass("current"); $(this).addClass("current"); }); }); </script>
@暗香残留:
@暗香残留: 怀疑你jquery 没引用对
@sym_cn: 如果没引用对应该会报错吧?
@学学学习: 嗯
@学学学习:会报错 若浏览器没有设定的话 但是不一定直接跳出。
@暗香残留: 楼主在如果是用的IE的话 在左下角看有没有感叹号
@sym_cn: 关键他刚跟我说,没有报错
@sym_cn: 没有感叹符号,不报错,就是效果不出现,样式没了
@暗香残留: 泪奔了 有TeamVIew吗? 远程一下
@sym_cn: 不是,是个母版页上面的
@暗香残留: 什么不是?
你这写的没错啊,只是没给这个class加样式而已,我刚测了下可以啊。代码:
结果:
不知道怎么了。。。。。。我们这里的都不可以。。。。。有几个地方都有这个问题,是不是jquery文件的问题,我们使用的1.4.1
@暗香残留: 我用的是1.7.1。应该没问题的吧,都是这么简单的语句。你能你的错误信息给我看下吗?
@学学学习: 这样是不报错误的
@暗香残留: 你加个alert();看这个点击事件执行了没?
@学学学习: 执行了
@暗香残留: 那就好,那你在浏览器审查元素,看下哪个class:current这个有没有加上。
@学学学习: 没啊
@暗香残留: 那么应该就是 $(this).addClass("current");,这个有问题了,你用的是啥浏览器。会在上面调试不?打个断点,看下$(this)这个有没有值
@学学学习: 嗯,好的,谢谢 兄弟
@暗香残留: 额,没事,多看代码,对自己也是有帮助的
楼主这么写吧,jq都是这么链式写的:
$("#nav ul li").click(function(){ $(this).addClass("current") .sibilings().removeClass("current"); });
他们是一样的,我使用的你这种方法直接报错:不存在该属性或方法
可以试试添加一个隐藏字段, 响应事件时可以变更隐藏字段的值,$(document).ready(function(){} 中添加根据隐藏字段的值再添加删除样式...
额,你这样做不是反而麻烦了吗?
如果页面只有和一段脚本和html没问题,楼主有问题可能是页面还有其他js,css干扰吧
是写在模板页里面的
@暗香残留: 那可能性就很大了,你可以往这个方向查找原因了
楼主检查下你是否在li标签上添加其他的鼠标移动事件,我怀疑是这里的关系