Jquery:你能给我解释一下这行代码吗?帮助我理解它,或提供我可以了解它的参考
Posted
技术标签:
【中文标题】Jquery:你能给我解释一下这行代码吗?帮助我理解它,或提供我可以了解它的参考【英文标题】:Jquery: can you explain this line of code to me? help me to understand it, or give references to where I can learn about it 【发布时间】:2011-08-18 10:44:51 【问题描述】:Jquery 1.6 刚出来,我从.is
api 页面抓取了这段代码。
我只是对在那里看到的一段代码有几个问题:
1) 为什么需要return
?难道没有另一种更容易写的方法吗?我的意思是,当我编写任何 Jquery 时,我从未使用过 return
。显然我没有写任何高级的东西,我还在学习。 你为什么需要它,你什么时候使用它?还有其他方法可以做同样的事情吗?
2) $('strong', this)
表示“此元素中的任何<strong>
元素”。 对吗? 整行会写成“给我这个里面有 2 个强元素的元素”? 对吗?或者?(我想我错了。)没有别的写法吗?我只见过几次。
$("li").click(function()
var $li = $(this),
isWithTwo = $li.is(function()
return $('strong', this).length === 2;
);
if ( isWithTwo )
$li.css("background-color", "green"); else
$li.css("background-color", "red"); );
【问题讨论】:
文档说:使用函数 |此方法的第二种形式基于函数而不是选择器评估与元素相关的表达式。对于每个元素,如果函数返回true
,.is()
也返回true
。你现在不明白的是什么?
为什么有人会使用$('strong', this)
?他们不能只使用$(this).find('strong')
或类似的东西吗?有什么不同?我在哪里可以找到相关文档:$('strong', this)
?
是的,它是一样的......你可以在这里找到信息:api.jquery.com/jQuery
【参考方案1】:
为什么需要退货?
查看documentation for is
。关键是该函数将返回真或假。
$('strong', this)
表示“此元素中的任何<strong>
元素”。正确的?
是的
那整行会写成“给我这个里面有 2 个强元素的元素”?
没有。它将是“如果有2个强元素,则返回true,否则返回false”
【讨论】:
【参考方案2】:return $('strong', this).length === 2;
如果this
有2 个<strong>
元素,则返回true
。否则,返回false
。
【讨论】:
以上是关于Jquery:你能给我解释一下这行代码吗?帮助我理解它,或提供我可以了解它的参考的主要内容,如果未能解决你的问题,请参考以下文章