Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery中检测布尔项并更改它们_Jquery_Boolean - Fatal编程技术网

在jQuery中检测布尔项并更改它们

在jQuery中检测布尔项并更改它们,jquery,boolean,Jquery,Boolean,我想突出显示一些具有值true的项目。 这是密码 $('td.obsolete').each(function(index) { alert($(this).text()); var val = $(this).text(); alert("val:" + val); if (val === true) { alert("now then"); $("td.obsolete")

我想突出显示一些具有值true的项目。 这是密码

    $('td.obsolete').each(function(index) {
        alert($(this).text());
        var val = $(this).text();
        alert("val:" + val);
        if (val === true) {
            alert("now then");
            $("td.obsolete").css('background-color', '#fef1f8');
        }
    });
在td单元中找到该项时,前两个警报正常工作并按预期返回False和True。 第三个警报“now then”永远不会被触发。 我试过了

       if (val === true) 
if (val == true)
if (val == 'True')
有什么线索吗

$('document').ready(
    function(){
        $('td.obsolete').each(function(index) {
        alert($(this).text());
        var val = $(this).text();
        alert("val:" + val);
        if (val == 'true') {
            alert("now then");
            $("td.obsolete").css('background-color', '#fef1f8');
        }
    });
});

如果td文本中有空格,那么可以使用
jQuery.trim()检查它们

这就是我所尝试的,它提供的小提琴链接

$(document).ready(
    function(){
        $('td.obsolete').each(function(index) {
        alert($(this).text());
        var val = $.trim($(this).text()).toLowerCase();
        alert("val:" + val);
        if (val == 'true') {
            alert("now then");
            $("td.obsolete").css('background-color', '#fef1f8');
        }
    });
});

价值观需要调整!这里我还突出显示了前面的表格单元格。

嗯,字符串
“True”
与布尔值
True
不同<代码>如果(val='True')
应该可以工作:确保从字符串中删除所有前导和尾随空格。您在td中输入了哪些值?你检查过是否区分大小写了吗?也许你想尝试一下.toLowerCase()比较?找到了答案-我需要这样做:val=jQuery.trim(val);我认为表格单元格中有回车符或空格。您可以回答自己的问题;)还要确保调用
$(this.css('background-color','fef1f8'),否则每个单元格都将获得背景色。
$(document).ready(function() {
    $('td.obsolete').each(function(index) {            
        var val = $(this).text();
        val = jQuery.trim(val);            
        if (val != 'False') {
            $(this).css('background-color', '#dfc4cc');                
                var previous = $(this).prev();   
                previous.css('background-color', '#dfc4cc');                
        }   
    });    
});