Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Javascript 我想隐藏特定单元格的表行_Javascript_Jquery_Html_For Loop - Fatal编程技术网

Javascript 我想隐藏特定单元格的表行

Javascript 我想隐藏特定单元格的表行,javascript,jquery,html,for-loop,Javascript,Jquery,Html,For Loop,我创建了一个脚本,用于隐藏包含特定单词的行,在我的示例中,该单词是“活动的”。现在的问题是脚本只隐藏第一行,然后停止执行。所以基本上它是工作的,但是在隐藏第一行之后,它停止执行 欢迎提出任何建议 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript" charset="utf-8"></script> </head>

我创建了一个脚本,用于隐藏包含特定单词的行,在我的示例中,该单词是“活动的”。现在的问题是脚本只隐藏第一行,然后停止执行。所以基本上它是工作的,但是在隐藏第一行之后,它停止执行

欢迎提出任何建议

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
   <table id="myTable">
     <tr id="my">
            <td>1</td>
            <td>11</td>
            <td >active</td>
        </tr>
     <tr  id="my">
            <td>2</td>
            <td>22</td>
            <td>active</td>
        </tr>
        <tr  id="my">
            <td>4</td>
            <td>44</td>
            <td>inactive</td>
        </tr>
        <tr  id="my">
            <td>5</td>
            <td>55</td>
            <td>inactive</td>
        </tr><tr  id="my">
            <td>6</td>
            <td>66</td>
            <td>active</td>
        </tr>
        <tr  id="my">
            <td>7</td>
            <td>77</td>
            <td>inactive</td>
        </tr>
    </table>
<script>
var oTable = document.getElementById('myTable');
var row = "active";
var count=0;
var rowLength = oTable.rows.length;
//document.writeln("no fo row in table"+rowLength); 
    for (var i = 0; i < rowLength; i++)
    {
        var oCells = oTable.rows.item(i).cells;
         var cellLength = oCells.length;
         //document.writeln(count);
         count=count+1;    
         for(var j = 0; j < cellLength; j++)
            {
                var cellVal = oCells.item(j).innerHTML;     
            //  document.writeln("table values"+cellVal);
                 if(cellVal==row)
                     {
                                document.getElementById('my').style.display = 'none'; 
                                document.writeln("table values"+count+"<br/>");                             
                     }  
                else
                    {

                    }
                }
    }
</script>

1.
11
积极的
2.
22
积极的
4.
44
不活跃的
5.
55
不活跃的
6.
66
积极的
7.
77
不活跃的
var oTable=document.getElementById('myTable');
var row=“活动”;
var计数=0;
var rowLength=oTable.rows.length;
//document.writeln(“表中无fo行”+行长);
对于(变量i=0;i”);
}  
其他的
{
}
}
}

尽管您已经接受了答案,我还是建议您:

$('#myTable tr').filter(function(){
    return $(this).find('td:last-child').text().toLowerCase() === 'active';
}).hide();

关于你的进一步问题(在对另一个答案的评论中):

只有一个想法可以帮助我,如果有更多的字,如活动,启用,禁用我必须比较,然后是怎样的代码

我建议采取以下方法:

var states = {
    'active' : {
        'display' : 'none'
    },
    'inactive' : {
        'color' : 'orange'
    }
};


$('#myTable tr td:last-child').each(function(){
    var that = this,
        $that = $(that);
    $that
     .parent()
     .css(states[$that.text().toLowerCase()] || '');
});

.

你能给我一些点击率吗……你的HTML无效;
id
只能使用一次。你应该使用一个类名。只要一个想法就能帮助我,如果有更多的单词,比如active,enable,disable,我必须比较代码是什么样的这个代码对于静态数据来说工作得很好,但问题是我的数据来自数据库,所以,基本上我想隐藏动态数据。有可能吗?动态数据??隐藏什么??这段代码对静态数据很有效,但问题是我的数据来自数据库,所以,基本上我想隐藏动态数据。有可能吗?是的,但是没有更多的信息,我不能说怎么做。你可能想发布一个关于这方面的新问题,包括相关细节。
var states = {
    'active' : {
        'display' : 'none'
    },
    'inactive' : {
        'color' : 'orange'
    }
};


$('#myTable tr td:last-child').each(function(){
    var that = this,
        $that = $(that);
    $that
     .parent()
     .css(states[$that.text().toLowerCase()] || '');
});