如何利用JS实现在li中添加或删除class属性

想实现:默认首页会有class=“center",当点击新闻/图片后,清除首页的class,添加新闻/图片的class="center"我的代码如下,但好像不起作用,哪位... 想实现:
默认首页会有class=“center",当点击新闻/图片后,清除首页的class,添加新闻/图片的class="center"
我的代码如下,但好像不起作用,哪位朋友帮忙分析一下,谢谢!
<ul id="test">
<li onclick="setCurrent(0)"><a href="#">首页</a></li>
<li onclick="setCurrent(1)"><a href="#">新闻</a></li>
<li onclick="setCurrent(2)"><a href="#">图片</a></li>
</ul>

<script type="text/javascript">
function setCurrent(i){
var parentElement = document.getElementById("test").getElementsByTagName("li");
for (var j=0;j<parentElement.children.length;j++){
parentElement.children[j].className = (i==j)?:"center":""; //"center"是class名称
}
}
</script>
展开
 我来答
码农小明哥
2017-06-15 · 互联网程序员一枚,欢迎交流
码农小明哥
采纳数:9602 获赞数:25062

向TA提问 私信TA
展开全部

可以使用jQuery的attr方法来实现对某一元素的的class的属性的添加或者删除,attr() 方法设置或返回被选元素的属性值.根据该方法不同的参数,其工作方式也有所差异,可以使用removeclass来删除class属性。

工具原料:编辑器、浏览器

1、为li添加class属性:

为某个li元素添加class=“special”的属性

$('li').attr('class','special');

2、删除class属性:

 $("li").removeClass("special");
});
无限编
2014-08-14 · TA获得超过286个赞
知道小有建树答主
回答量:532
采纳率:0%
帮助的人:72万
展开全部
用jquery简单 原js的话循环里面加个判断
if(j==i){
parentElement[j]..className="center";

}
还有你循换里应该没有那个children
如果想要jqurey的话我再给你写 要是程序不要jquery上面的就可以
更多追问追答
追问
谢谢回答,是要改成这样吗,我是js菜鸟。
for (var j=0;j<parentElement.children.length;j++){
if(j==i){
parentElement[j].className="center";
}
}
追答
$( function() {
$("#test li").click(function(){

$("#test li").removeClass("center");
$(this).addClass("center");
});

}
用这个吧简单 还不用在标签里写onclick传值了
你程序里有jquery.js就行web项目现在一般的话都用类似用ajax什么的都方便不用原始的了
不会用的话追问我
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-08-14 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
function setCurrent(i){
var pe = document.getElementById("test");
for (var j = 0; j < pe.children.length; j++) {
pe.children[j].className = i == j ? : "center" : "";
}
}
追问
谢谢回答,代码解决不了问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雪花3328
2014-08-14 · 超过59用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:108万
展开全部
<div class="head_nav clearfix">
<ul class="nav">
<li onclick="setCurrent(0)"><a href="#" class="CCC">AAA</a>
<li onclick="setCurrent(1)"><a href="#" class="BBB">BBB</a></li>
<li onclick="setCurrent(2)"><a href="#" class="CCC">CCC</a></li>
</ul>
</div>
<script type="text/javascript">
function setCurrent(i){
var parentElement = document.getElementById("nav");
for (var j=0;j<parentElement.children.length;j++){
parentElement.children[j].className = (i==j)?:"currentStyleName":"otherStyleName";
}
}
</script>
希望对你能有所帮助。
追问
您是Copy过来的吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式