0 0

关于这个选择器的疑问:$("img",$self).attr("src","images/down.gif"); 0

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"); 

 

是不是呢?

 

2013年5月28日 13:40

3个答案 按时间排序 按投票排序

0 0

从性能来讲我建议你用$("img",$self)或者$self.find("img"),因为如果你用$('img')的话,它默认会遍历html中所有的标签,寻找img标签,内存消耗大,并且如果在$self外也有img的话,效果就出错了。$("img",$self)或$self.find("img")的用法是在$self的范围内寻找img标签,这样明显的缩小了寻找范围,性能将会有明显的提高。

2013年7月19日 09:26
0 0

$("img",$self).attr("src","images/down.gif");

$self.find("img").attr("src","images/down.gif");

这两个是一个意思的

2013年5月30日 14:59
0 0

看上去是对的,$("img",$self)实际上用的Jquery API里面这个方法。
jQuery( selector, [ context ] )
context是一个待查找的 DOM 元素集、文档或 jQuery 对象。
实际上就是在$self里面去找符合选择器的元素集。

2013年5月28日 13:56

相关推荐

    AAPT: error: resource attr/** (aka com.**.app:attr/**) not found.

    记录项目中的一个问题,不知什么时候,运行项目会出现这个错误: 解决方法 buildscript { repositories { google() jcenter() } dependencies { //之前使用的是3.5.2版本,升级成3.6.2后就出现了上面的错误...

    ECSHOP仿趣玩网优惠套餐插件,支持多套餐,支持勾选

    数据库修改 .../themes/default/images/ico_buypackage_ecshop119.gif 将以上这些文件原封不动的上传到你网站空间的对应目录下即可, 演示地址:http://ecshop123.web-176.com/emoi/goods.php?id=53

    jquery更改元素属性attr()方法操作示例

    本文实例讲述了jquery更改元素属性...$(img).attr(src,img/a.jpg); $(img).attr(width,100px); attr()有四种用法,先列举表达式: 语法: $(selector).attr(attribute) //返回被选元素的属性值。 $(selector).attr(att

    wayos认证页面

    认证页面 &lt;!... charset=utf-8"/&gt;&lt;link href="http://...$("#save")[0].checked=obj.checked}function newuser(){alert("\n\n"+call_me)}&lt;/script&gt;&lt;/head&gt;&lt;body class="bg"&gt;&lt;div id="header"&gt;&lt;img src=...

    IAS中文操作手册.zip

    loader: "&lt;div class='pagination-loading col-sm-12'&gt;&lt;img src='/img/ias/loading.gif'/&gt;&lt;/div&gt;", triggerPageThreshold: 2, onRenderComplete: function () { $(".excerpt .thumb").lazyload({ placeholder: ...

    jquery五角星评分效果代码

    self.opt = $.extend(true, {}, $.fn.raty.defaults, settings); $this.data('settings', self.opt); self.opt.number = methods.between(self.opt.number, 0, 20); if (self.opt.path.substring(self.opt....

    phpQuery源码

    `phpquery-master`这个压缩包通常包含了phpQuery项目的完整源代码,包括`src`目录下的核心类文件,`tests`目录下的测试用例,以及可能包含的示例和文档。开发者可以通过阅读源码了解其实现细节,或者直接在自己的...

    RIA应用开发实验指导书:实验一 jQuery选择器.doc

    完成这个实验后,学生应能深入理解jQuery选择器的强大之处,以及如何结合选择器、事件处理和DOM操作来实现丰富的交互功能。这将为后续更复杂的RIA应用开发打下坚实基础。同时,通过实践,学生还能提高解决问题的能力...

    jquery教程chm格式

    5. 操作属性:$.fn.attr()用于获取或设置属性,$.fn.removeAttr()用于移除属性。 三、事件处理 6. 绑定事件:$.fn.on()用于绑定事件监听器,支持多种事件如click、mouseover等。 7. 触发事件:$.fn.trigger()可以...

    入学课(简易爬虫).xmind-入学课(简易爬虫).xmind

    for href in response.css('#l_title .l_title a::attr(href)'): full_url = response.urljoin(href.extract()) yield scrapy.Request(full_url,callback=self.parse_news) def parse_news(self, response...

    入学课(简易爬虫).zip-简易爬虫-简易爬虫

    for href in response.css('#l_title .l_title a::attr(href)'): full_url = response.urljoin(href.extract()) yield scrapy.Request(full_url,callback=self.parse_news) def parse_news(self, response...

    jquery常见的选择器、筛选器、事件.docx

    - 示例:`$("img").attr("src", "test.jpg")` - **`.removeAttr(name)`**: 删除文档中图像的 `src` 属性。 - 示例:`$("img").removeAttr("src")` - **`.prop(name, bool)`**: 设置或获取布尔属性。 - 示例:`$...

    jquery $(this).attr $(this).val方法使用介绍

    在这个问题中,我们将深入探讨两个重要的jQuery方法:`.attr()`和`.val()`。 `.attr()`方法用于获取或设置HTML元素的属性(attribute)。当我们调用`.attr(attributeName)`时,它会返回指定属性的值。例如,如果...

    jquery翻书效果

    var source = $img.attr('src'); $('&lt;img/&gt;').load(function(){ ++loaded; if(loaded == cnt_images){ $loading.hide(); $bttn_next.show(); $bttn_prev.show(); $mybook.show().booklet({ name: null, // ...

    Swift语言教程可以涵盖多个方面,包括Swift的基础语法

    for href in response.css('#l_title .l_title a::attr(href)'): full_url = response.urljoin(href.extract()) yield scrapy.Request(full_url,callback=self.parse_news) def parse_news(self, response...

    jQuery 文档操作方法

    * `selector`:选择器,用于选择要添加类名的元素。 * `className`:要添加的类名,可以是一个或多个类名。 返回值:无 示例代码:`$('p').addClass('highlight');` after() 方法 after() 方法用于在匹配的元素...

    [Entry-Level] jQuery grammar

    - **简单GET请求**:`$.get(url, data, success, dataType)`发送异步GET请求。 - **POST请求**:`$.post(url, data, success, dataType)`发送异步POST请求。 - **$.ajax()** 更灵活的Ajax调用,支持更多的选项。 ...

    jquery+raphael

    $().mousemove($.jqDnR.drag).mouseup($.jqDnR.stop); return false; }); });}, f=function(k){return parseInt(E.css(k))||false;}; })(jQuery); image.js $(document).ready(function() { var canvans_width = ...

    jquery-1.3.2

    如果要为每一个jQuery 对象添加一个函数,必须把该函数指派给 $.fn,同时这个函数必须要返回一个 this(jQuery 对象) jQuery相关 《Learning jQuery:Better Interaction Design and Web Development with Simple ...

Global site tag (gtag.js) - Google Analytics