Html代码:<div class="global_module procatalog">
<h3>产品分类</h3>
<ul class="m-treeview">
<li class="m-expanded">
<span>衬衫</span>
<ul>
<li><span>短袖衬衫</span></li>
<li><span>长袖衬衫</span></li>
</ul>
</li>
<li class="m-expanded">
<span>卫衣</span>
<ul>
<li ><span>开襟卫衣</span></li>
<li ><span>套头卫衣</span></li>
</ul>
</li>
<li class="m-expanded">
<span>裤子</span>
<ul>
<li><span>休闲裤</span></li>
<li><span>免烫卡其裤</span></li>
<li><span>牛仔裤</span></li>
<li><span>短裤</span></li>
</ul>
</li>
</ul>
<p class="module_up_down"><img src="images/down.gif" alt="" /></p>
</div>JS代码:
/*模块展开和关闭*/
$(function(){
$(".module_up_down").toggle(function(){
var $self = $(this);
$self.prev().slideToggle(600,function(){
$("img",$self).attr("src","images/up.gif");
});
},function(){
var $self = $(this);
$self.prev().slideToggle(600,function(){
$("img",$self).attr("src","images/down.gif");
});
})
})为了实现如下效果:为了更改<p class="module_up_down"><img src="images/down.gif" alt="" /></p> 这里的img的src,
我感觉用这个选择器不恰当:$("img",$self).attr("src","images/down.gif");
应该用:$self.find("img").attr("src","images/down.gif"); 是不是呢?
<h3>产品分类</h3>
<ul class="m-treeview">
<li class="m-expanded">
<span>衬衫</span>
<ul>
<li><span>短袖衬衫</span></li>
<li><span>长袖衬衫</span></li>
</ul>
</li>
<li class="m-expanded">
<span>卫衣</span>
<ul>
<li ><span>开襟卫衣</span></li>
<li ><span>套头卫衣</span></li>
</ul>
</li>
<li class="m-expanded">
<span>裤子</span>
<ul>
<li><span>休闲裤</span></li>
<li><span>免烫卡其裤</span></li>
<li><span>牛仔裤</span></li>
<li><span>短裤</span></li>
</ul>
</li>
</ul>
<p class="module_up_down"><img src="images/down.gif" alt="" /></p>
</div>JS代码:
/*模块展开和关闭*/
$(function(){
$(".module_up_down").toggle(function(){
var $self = $(this);
$self.prev().slideToggle(600,function(){
$("img",$self).attr("src","images/up.gif");
});
},function(){
var $self = $(this);
$self.prev().slideToggle(600,function(){
$("img",$self).attr("src","images/down.gif");
});
})
})为了实现如下效果:为了更改<p class="module_up_down"><img src="images/down.gif" alt="" /></p> 这里的img的src,
我感觉用这个选择器不恰当:$("img",$self).attr("src","images/down.gif");
应该用:$self.find("img").attr("src","images/down.gif"); 是不是呢?
之所以达到了$self.find("img").attr("src","images/down.gif")的效果。
是因为jqery发现$self代表的元素没有src属性,所以忽略了$self。
那个帖子的回答是错误的:$("ancestor descendant")这样是层次选择器,选择ancestor里所有的descendant(后代)元素,注意,他们之间并没有逗号,
而这种$(selector1,selector2,...selectorn)是基本选择器,将每个选择器匹配的元素合并到一起返回。