你好,我有这个我正在处理的清单。当我将鼠标移到列表项上时,我想将列表项的边框颜色更改为红色,当我将鼠标移开时,它应该变回白色。这是我的HTML
<html>
<head>
<title>JQuery Problem 1</title>
<script type="text/javascript" src="jquery-1.4.min.js"></script>
<script type="text/javascript" src="problem1.js"></script>
</head>
<body>
<ol>
<li>Comp 250
<ul>
<li>HTML</li>
<li>CSS</li>
<li>CGI</li>
<li>PHP</li>
<li>JavaScript</li>
</ul>
</li>
<li>Comp 345
<ul>
<li>Objects and classes</li>
<li>Static and constant members</li>
<li>Operator overloading</li>
<li>Templates</li>
<li>Inheritance</li>
<li>Polymorphism</li>
</ul>
</li>
<li>Comp 431
<ul>
<li>Perl language</li>
<li>File uploads and downloads</li>
<li>AJAX and JSON</li>
<li>Java Servlets</li>
<li>JSP</li>
</ul>
</li>
</ol>
</body>
</html>
这是我的jquery
$(document).ready(function()
{
$("ol > li").css({margin: "1em", fontWeight: "bold"});
$("ol li li").css({fontWeight: "normal"});
$("li").hover(function()
{
$(this).css('border-color', 'red'); //switches color when on
},
function()
{
$(this).css('border-color', 'white') //switches back when the mouse moves off
})
});
答案 0 :(得分:2)
除非您尚未指定边框宽度和样式,否则看起来是正确的。在这种情况下,没有什么可以显示颜色。
你可以这样做:
$("li").hover(function()
{
$(this).css('border', '1px solid red');
},
function()
{
$(this).css('border', '1px solid white')
});
或者在悬停之前设置初始边框:
$("ol > li").css({borderWidth:"1px", borderStyle:"solid", margin: "1em", fontWeight: "bold"});
$("ol li li").css({fontWeight: "normal"});
$("li").hover(function()
{
$(this).css('border-color', 'red');
},
function()
{
$(this).css('border-color', 'white')
})