以下代码返回以下结果:
0: 000,
1: 100,
2: 200,
...
40: 4000
我想添加一个if-else
。
var minValue === 100; var maxValue === 300
并仅显示带有value.innerText <= minValue && value.innerText >= maxValue
如何将其添加到此代码中? +如何为这些元素添加函数,例如,如果已经有函数.click();
var labels = $('.st-weight-class').find('.filter-panel--option-list label');
labels.each(function (index, value) {
console.log(index + ': ' + value.innerText);
});
答案 0 :(得分:1)
您可以只使用filter
function getLabelsInRange( labels, minValue, maxValue) {
return labels.filter( label => parseInt( label.innerText ) >= minValue && parseInt( label.innerText ) <= maxValue );
}
然后,通过使用
,它将返回minValue
和maxValue
范围内的所有标签
let matchingLabels = getLabelsInRange( labels, 100, 300 );
我确实改变了您的病情,因为我相信您希望一切都在minValue >= x >= maxValue
范围内
答案 1 :(得分:0)
var minValue === 100; var maxValue === 300;
那不是有效的javascript分配。也许你想说:
var minValue = 100; var maxValue = 300;
是什么让您无法按问题中的定义直接输入?
if(value.innerText<minValue || value.innerText>maxValue) {
console.log(index + ': ' + value.innerText);
}
var labels = $('.st-weight-class').find('.filter-panel--option-list label');
var minValue = 100;
var maxValue = 300;
labels.each(function (index, value) {
if(value.innerText<minValue || value.innerText>maxValue) {
console.log(index + ': ' + value.innerText);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class='st-weight-class'>
<div class='filter-panel--option-list'>
<label>10</label>
<label>50</label>
<label>70</label>
<label>90</label>
<label>100</label>
<label>200</label>
<label>250</label>
<label>300</label>
<label>350</label>
<label>400</label>
<label>650</label>
<label>900</label>
</div>
</div>
答案 2 :(得分:0)
您可以在每种方法内附加click事件并添加条件
尝试一下:
var labels = $('.st-weight-class').find('.filter-panel--option-list label');
var minValue = 100;
var maxValue = 300;
labels.each(function (index) {
$(this).click(function() {
if($(this).text()>=minValue && $(this).text()<=maxValue) {
console.log(index + ': ' + $(this).text());
}
});
});