jQuery .each()方法的两个参数的解释
Explanation of two arguments for jQuery .each() method
在下面的jQuery中,.each()
方法有两个参数:'ul li a'
和menu
。这两个论点是什么意思?
var menu = $('.menu');
$('ul li a', menu).each(function() {
$(this).append('<span />');
});
HTML: <div class="menu">
<ul>
<li><a href="#">Edit Profile</a></li>
<li><a href="#">Account Settings</a></li>
<li><a href="#">Appear Offline</a></li>
<li><a href="#">Logout</a></li>
</ul>
</div>
jQuery函数的第二个参数是上下文。这告诉jQuery只在上下文中搜索
中的元素。对于你的例子:
$('ul li a', menu).each(function() {
$(this).append('<span />');
});
这将只搜索位于菜单内的ul
, 中的li中的锚。
这是一个非常有用的优化,因为它可以显著减少jQuery必须搜索的空间。
编辑
为了更清楚一点(正如jfriend00指出的那样),您的特定示例$('ul li a', menu)
相当于$('.menu ul li a')
context参数在docs
Assalamu Alaikkum兄弟好,
解释如下:
第一个参数是'ul li a'这意味着它在列表项标签中搜索锚标记,而该标签又出现在无序列表标签中。第一个参数是子上下文。
第二个参数菜单,它是主上下文。也就是说,jquery搜索类名为"menu"的元素。
最后,jquery在主上下文中搜索子上下文。所以jquery首先搜索主上下文"menu",然后在主上下文中搜索子上下文。关键字"each"表示要在主元素中搜索的所有子元素。
相关文章:
- 为什么jQuery文件的函数中有两个参数,但只接收一个参数
- 使用带有两个参数的函数的javascript映射
- 使用应用程序状态js和视图在angular js url上传递两个参数
- 如何使用 href 连接两个参数
- 如何从两个参数函数返回随机整数
- 编写一个使用传递两个参数的回调的承诺
- 如何使用Javascript从不同的源向函数传递两个参数
- 试图理解一个在JS中有两个参数输入的函数(如函数X(param1)(param2))
- 使用 jquery ajax 请求和日期格式错误解析两个参数
- 具有两个参数的角度函数具有错误:[$parse:语法]
- 如果两个参数都匹配,则从对象中删除重复项
- 带有两个参数的“data”回调不会将buffer.toString()打印为字符串
- 如何从 javascript 函数返回两个参数
- 将两个参数传递给函数
- 用jmespath通过两个参数求出min和max
- 我想通过javascript生成当前页面的url,并添加两个参数
- 如何检查li:contains方法中的两个参数
- 试图使一个函数返回另一个函数,该函数返回两个参数的和
- jQuery .each()方法的两个参数的解释
- 发送带有两个参数的字符串