日期:2014-05-16  浏览次数:20345 次

问一个jquery元素循环选取的问题.
本帖最后由 jasonliangbiz 于 2013-08-15 19:50:23 编辑
html代码:

<ul>
<li><div>//</div></li>
<li><div>//</div></li>
</ul>

我现在想要鼠标移到<li>那么此<li>内的<div>变换颜色(即addClass('c-hover'))

我现在这样写


    $("li").each(function () {
        $(this).on('mouseover', function () { $('div').addClass('c-hover'); })
        .on('mouseout', function () { $('div').removeClass('c-hover'); });
    }); 

我知道错在$('div')选取了全部的div标签了,应该是差一个索引,我不会写.要怎样改才能选取li内对应的div标签?

谢谢!

------解决方案--------------------
 


    $("li").each(function () {
        $(this).on('mouseover', function () { $(this).find('div').addClass('c-hover');  })
        .on('mouseout', function () { $(this).find('div').removeClass('c-hover');    });
    }); 


------解决方案--------------------

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<title>无标题文档</title>
<style type="text/css">
.c-hover{border:1px solid #f00}
</style>
</head>

<body>
<ul>
<li><div>//</div></li>
<li><div>//</div></li>
</ul>
<script type="text/javascript">