jQuery:定位所有 val 小于 1 的元素
jQuery: Target all elements with val less than 1
我在 dom 中有多个元素,其中一类为 .blockbadge
如果任何.block-badge
的值为 0,那么我想向该元素添加一个类以使其样式不同。
我的 JS 将类添加到所有这些元素中,如果它们中的任何一个等于 0。如何使其仅影响那些等于零的元素?
.HTML
<span class="block-badge">1</span>
<span class="block-badge">0</span> // this element should have the class 'zero' added
<span class="block-badge">4</span>
.JS
var blockBadgeVal = $('.block-badge').val();
if (blockBadgeVal < 0) {
$('.block-badge').addClass('zero');
}
OP 中的代码将不起作用,因为$('.block-badge').html()
将返回带有类block-badge
的第一个元素的 html,因此在这种情况下返回字符串 1
,您应该解析返回的值,然后将其与0
进行比较。
你可以改用 filter(( 方法。
说明:将匹配的元素集减少为与选择器匹配或通过函数测试的元素集。
$('.block-badge').filter(function(){
return parseInt($(this).text())==0;
}).addClass('zero');
希望这有帮助。
$('.block-badge').filter(function(){
return parseInt($(this).text())==0;
}).addClass('zero');
.zero{
color: red;
font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="block-badge">1</span>
<span class="block-badge">0</span>
<span class="block-badge">4</span>
像这样
$('.block-badge').each(function(){
if(parseInt($(this).html()) ===0){
$(this).addClass('zero');
}
});
你可以使用 jQuery :contains
选择器来实现该特定标记
$('.block-badge:contains(0)').addClass('zero');
如果任何其他元素包含零,例如10
,101
等,则不起作用,因此,如果您只需要0
,请使用过滤器
小提琴
尝试使用.text(function(index, originalText) {})
其中this
是集合中的当前元素,originalHtml
是当前元素textContent
$(document).ready(function() {
$(".block-badge").text(function(index, originalText) {
if (originalText <= 0) {
$(this).addClass("zero");
}
return originalText
});
});
JSFIDDLE https://jsfiddle.net/s2g3zpwr/3/
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery:定位所有 val 小于 1 的元素
- 隐藏元素并在浏览器窗口宽度小于时显示其他
- 如果两个元素之间的距离小于 X,则执行 Y
- 如果容器高度小于固定值,则隐藏元素
- Jquery或Javascript:如何查找图像大于500px且小于2000px的所有html元素
- angularjs,如果容器宽度小于ul元素
- jQuery选择器,获取所有小于n个子元素的父元素
- 元素的宽度/高度可以小于min-width/min-height吗?
- Count数组中两个元素小于或等于一个求和值的次数
- 移除大型排序数组中长度小于' n '的元素
- Javascript数组.元素长度对小于2个元素不起作用
- 给定每个小于数组大小的元素,查找数组中的第一个重复元素
- 显示id中最后一个数字小于i的元素
- 在小于O(n)时间内找到(排序)数组中的重复元素
- 当窗口大小小于时更改菜单元素
- 如果浏览器窗口小于给定大小,如何使用 Javascript 隐藏一些 ID 元素