从上一个问题的答案中回答:onClick change list styles
不是更改所有类,而是更改所有类,但使用特定类更改“li”。因此,如果其中一个li的类名为“dontChange”,则其类名不会改变,但所有其他名称都将改变。
单击某个项目时,应将其更改为“单击”除“dontChange”为“notClicked”的项目之外的所有其他项目。当您双击“clicked”或“notClicked”项时,它应该更改为“dontChange”,其他所有内容都应更改为“notClicked”。
谢谢,Yan
答案 0 :(得分:1)
试试这个
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
var Lst;
function CngClass(obj){
if (Lst) Lst.className='';
if(obj.className=='dontChange')
{
obj.className='dontChange';
}
else
{
obj.className='Clicked';
Lst=obj;
}
}
/*]]>*/
</script>
<style>
.notClicked {color: black}
.Clicked {color: red}
.dontChange {color: blue}
</style></head>
<body>
<ul>
<li>
<a onclick="CngClass(this);" href="#" class="notClicked">Test 1
</a>
</li>
<li>
<a onclick="CngClass(this);" href="#" class="notClicked">Test 2
</a>
</li>
<li>
<a onclick="CngClass(this);" href="#" class="dontChange">Test 3
</a>
</li>
</ul>
</body>
</html>
答案 1 :(得分:0)
我认为你应该查看jQuery。您可以编写一个这样的选择器,将类添加到没有类li
的所有dontChange
。
$('li').not('.dontChange').addClass('changed');
答案 2 :(得分:0)
使用上一个答案中的代码,您需要将其更改为此类
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<script language="JavaScript" type="text/javascript">
var Lst;
function CngClass(obj){
if(obj.className=='notClicked')
{ obj.className='Clicked';
Lst=obj;
}
}
</script>
<style>
.notClicked .dontChange{color: black}
.Clicked {color: red}
</style></head>
<body>
<ul>
<li>
<a onclick="CngClass(this);" href="#" class="dontChange">1
</a>
</li>
<li>
<a onclick="CngClass(this);" href="#" class="notClicked">2
</a>
</li>
<li>
<a onclick="CngClass(this);" href="#" class="notClicked">3
</a>
</li>
</ul>
</body>
</html>
这简单地说,如果它是一个特定的类,那么改变它。
在FF3.61中测试