如何在HTML / Javascript中有条件地隐藏表格行?

时间:2016-07-20 23:57:02

标签: javascript jquery html

StackOverflow的新手 - 感谢所有可能提供帮助的人。

我们用于在线向客户提供报价的应用程序输出我可以自定义的HTML。有一种输出行,我想在HTML中有条件地抑制它。

HTML看起来像:

            <tr class="row-heading">
                <td colspan="3" class="col-description">
                    P=
                </td>
                <td class="col-picture">

                </td>
                <td class="col-unit-price">
                </td>
                <td class="col-extended-price">
                </td>
            </tr>

当“col-description”类中的数据为P =时,我想用行标题类来抑制整个表行。

我很喜欢使用HTML和CSS,但JavaScript并不是那么多。在发布之前我做了一些研究,我看到了需要.hide()的一些内容,但我无法弄清楚如何制作这种类型的JavaScript。

此外,HTML渲染页面中的JavaScript需要存在吗?一开始?在末尾?在一个街区?

提前感谢您的帮助和建议!

3 个答案:

答案 0 :(得分:0)

通常你会在整个html之后的<script>内添加你的JavaScript,以便在加载html时应用它。

现在你的任务有两个部分:找到要隐藏和隐藏它们的所有元素。既然你用jQuery标记了这个,我想使用jQuery是可以的。要查找P=的单元格,您可以使用此自定义:contains选择器:

var $cells = jQuery('td:contains("P=")');

要获取行,您必须使用parent()方法:

var $rows = jQuery('td:contains("P=")').parent();

最后,你想要隐藏它们,所以隐藏它们:

jQuery('td:contains("P=")').parent().hide();

就我理解你的问题而言,后一行是你想要的。

但正如大家提到的,这里不鼓励这类问题。您应该尝试使用其他来源学习基础知识,并在此处询问您是否有非基本水平的具体问题。

答案 1 :(得分:0)

基本的想法是检查一下你想隐藏某些东西的条件。如果您确实添加了:hidden,或者甚至拥有了css类,那么您需要.hide并执行display:none;。鉴于您不想显示它,请添加课程.addClass('hide')

这只是一个想法,你可以做很多事情,如果我是你,我会玩display:none并使用.addClass.removeClass

答案 2 :(得分:-1)

您可以尝试设置要显示的样式:无。