获取 li 项的状态最大值
Get the maximum value of state for li items
假设,我有一个选项卡的无序列表,如下所示:
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
现在,我正在根据点击将列表设置为活动列表。因此,当用户单击li
时,它将被标记为活动,并且this.state.selected
将等于li
的数量。例如,单击第一个li
,this.state.selected
将等于1
,依此类推。
有没有办法找出所选可能maximum state
?
例如,如果ul
有三个li
标签,则selected
的maximum state
将为3
。
假设this
是对<ul>
的引用,我建议:
this.state.maximum = this.children.length;
或者,如果可能有不计算的子项,则可以将 CSS 选择器传递给querySelectorAll()
,以仅检索要查找的子项:
this.state.maximum = this.querySelectorAll('li.classToFind').length;
或者,您可以使用Array.prototype.filter()
根据元素节点的属性仅保留那些要计数的元素,例如仅保留那些属性"keep"等于"true"的元素节点(作为一个简单的演示):
// Array.from() turns the NodeList returned by this.children
// into an array, in order to easily use the methods of the
// Array prototype,
// Array.prototype.filter() is used to filter out those elements
// for which the assessment in the anonymous function returns a
// false, or falsey, value:
this.state.maximum = Array.from( this.children ).filter(
function(node){
return node.keep === true;
}).length;
或者,重写上述内容以使用箭头函数:
this.state.maximum = Array.from( this.children )
.filter( n => n.keep === true ).length;
有没有办法找出可能的最大状态 选择?
例如,如果 ul 有三个 li 标签,则 选择将为 3。
所以,你想知道ul
的孩子数量吗?
<ul id="ul1">
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
这么多代码应该做
alert( document.getElementById( 'ul1' ).children.length );
相关文章:
- 在Javascript数组中查找绝对最大值
- Html5输入属性的默认值,如最小值、最大值、大小等
- 按最大值获取数组索引
- 识别滑块范围的最小值和最大值
- 如何在最大值之前的某个点停止范围滑块
- 访问Highcharts系列的最小/最大值:afterSetExtremes不会激发
- 如何在拖动后获得图表的最小值和最大值放大高图表
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- HTML5范围滑块最小值和最大值
- 如何仅在存在最小值和最大值时才显示错误消息
- 在 JavaScript 事件中添加最小值和最大值
- 从 JavaScript 中的数组中获取最大值和最小值
- 获取整数对象属性名称的最小值和最大值
- 高图表 - 在缩放重置中设置最大值和最小值
- Java 脚本 设置日期的最小值和最大值属性
- 使用javascript动态更改select中的最大值
- 如何设置jQuery微调器的最大值和最小值
- 当达到最小值和最大值时,防止在输入中显示额外的文本
- 获取 li 项的状态最大值
- 在chrome应用程序示例中添加窗口状态(最大值、最小值等)侦听器