如果td段有class,隐藏trclass
If td paragraph has class, hide tr class
如果 <td>
中包含的段落具有特定的 class。
,我需要隐藏 (display:none;
) 整个 <tr>
示例:
<table>
<tbody>
<tr id="sample-34457" class="row-class">
<td class="cell-class"></td>
<td class="cell-class"></td>
<td class="cell-class">
<p class="hide-tr-if-class"></p>
</td>
</tr>
</tbody>
</table>
我尝试了一些使用 CSS 的方法,但它在 100% 的时间里都不起作用。
有些jQuery我试过了:
if ($("p").hasClass(".hide-tr-if-class") ) {
$("tr#sample-*").hide();
///// OR
$(".row-class").css("display"`, "none");
};
两次尝试都没有真正的运气。如果段落有 class,我的目标是使用 display:none 隐藏整个 table 行。如果满足条件,这将最终从列表中删除项目。
谢谢。
试试这个:
if ($("p").hasClass(".hide-tr-if-class") ) {
$(this).closest('tr').hide();
{
首先,如果你使用hasClass
,参数将不需要.
另外,用closest
到select最接近的parent(这里是tr
)
if ($('p').hasClass('hide-tr-if-class')) {
console.log('in here')
$('p.hide-tr-if-class').closest('tr').css('visibility', 'hidden');
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tbody>
<tr id="sample-34457" class="row-class">
<td class="cell-class">a</td>
<td class="cell-class">b</td>
<td class="cell-class">
<p class="hide-tr-if-class">c</p>
</td>
</tr>
<tr id="sample-34457" class="row-class">
<td class="cell-class">d</td>
<td class="cell-class">e</td>
<td class="cell-class">
<p class>f</p>
</td>
</tr>
</tbody>
</table>
使用closest
获取p
元素的tr
祖先元素,然后像这样隐藏它:
$("p.hide-tr-if-class") // select the 'p' elements with the class 'hide-tr-if-class', the 'if' statement is not needed here
.closest("tr") // get their closest 'tr' ancestors
.hide(); // hide them, this is equivalent to '.css( "display", "none" )' but shorter and clearer
注意:如果行是动态添加的,那么上面的代码需要在生成代码完成后执行。
如果 <td>
中包含的段落具有特定的 class。
display:none;
) 整个 <tr>
示例:
<table>
<tbody>
<tr id="sample-34457" class="row-class">
<td class="cell-class"></td>
<td class="cell-class"></td>
<td class="cell-class">
<p class="hide-tr-if-class"></p>
</td>
</tr>
</tbody>
</table>
我尝试了一些使用 CSS 的方法,但它在 100% 的时间里都不起作用。
有些jQuery我试过了:
if ($("p").hasClass(".hide-tr-if-class") ) {
$("tr#sample-*").hide();
///// OR
$(".row-class").css("display"`, "none");
};
两次尝试都没有真正的运气。如果段落有 class,我的目标是使用 display:none 隐藏整个 table 行。如果满足条件,这将最终从列表中删除项目。
谢谢。
试试这个:
if ($("p").hasClass(".hide-tr-if-class") ) {
$(this).closest('tr').hide();
{
首先,如果你使用hasClass
,参数将不需要.
另外,用closest
到select最接近的parent(这里是tr
)
if ($('p').hasClass('hide-tr-if-class')) {
console.log('in here')
$('p.hide-tr-if-class').closest('tr').css('visibility', 'hidden');
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tbody>
<tr id="sample-34457" class="row-class">
<td class="cell-class">a</td>
<td class="cell-class">b</td>
<td class="cell-class">
<p class="hide-tr-if-class">c</p>
</td>
</tr>
<tr id="sample-34457" class="row-class">
<td class="cell-class">d</td>
<td class="cell-class">e</td>
<td class="cell-class">
<p class>f</p>
</td>
</tr>
</tbody>
</table>
使用closest
获取p
元素的tr
祖先元素,然后像这样隐藏它:
$("p.hide-tr-if-class") // select the 'p' elements with the class 'hide-tr-if-class', the 'if' statement is not needed here
.closest("tr") // get their closest 'tr' ancestors
.hide(); // hide them, this is equivalent to '.css( "display", "none" )' but shorter and clearer
注意:如果行是动态添加的,那么上面的代码需要在生成代码完成后执行。