计数元素之间的语法混淆
Syntax confusion between counting elements
$(this).siblings()
返回:
[<section style class="white">…</section>
, <section style class="white">…</section>
, <section style="display: none">…</section>
, <section style="display: none">…</section>
, <section style="display: none">…</section>
, <section style="display: none">…</section>
, <section style="display: none">…</section>]
因此有7个部分,其中两个(目前)具有类别white
。一旦parent()
部分被隐藏,我就不能再使用代码:
var hidden = ($(this).siblings().filter(':visible').length);
要查看有多少是可见的,我需要数一下白色的类。过了很长一段时间,我能够让这个工作:
var hidden=0;
$(this).siblings().each(function(){
if ($(this).hasClass('white')) {hidden++;};
});
为什么我必须循环遍历每个同级,而不能使用下面的一行或另一行来计算'white'
:类的同级
var hidden = ($(this).siblings().filter(':white').length); or
var hidden = ($(this).siblings().filter('white').length);
或
var hidden = ($(this).siblings().hasClass('white').length);
或
var hidden = ($(this).siblings().is(':white').length); or
var hidden = ($(this).siblings().is('white').length);
为什么要经历.filter()
、.hasClass()
、.is()
和循环的麻烦?难道你不能用.sibling()
的参数来过滤兄弟姐妹并得到那些"白色"的吗?
$(this).siblings('.white').length
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- 铬:“;未捕获的语法错误:意外的标记:"
- 计数元素之间的语法混淆
- AngularJS控制器语法 - 数组和函数版本之间的差异
- JSON和Javascript数组之间的“交互”(和语法)
- Javascript/Jquery在URL之间添加内容的语法
- 这两种javascript闭包语法之间的区别
- node.js和浏览器之间的JavaScript语法有什么不同?
- 控制器之间的通信使用"Controller as"语法
- 主干:为什么模型和视图之间的事件语法有很大的不同
- 除了语法之外,普通函数和箭头函数之间有什么区别吗
- 在通过构造函数和对象字面语法创建对象之间进行选择
- 在JavaScript中:类中函数和方法定义之间的语法差异