如果内部单元格包含特定单词,则隐藏表格行

时间:2019-12-02 00:47:35

标签: javascript php jquery css wordpress

我希望能够隐藏表格行,只要表格中的单元格在我网站的所有页面上包含“免费”一词即可。

示例页面在这里:https://widac.com.au/event/widac-event/

此图显示了要隐藏的部分: enter image description here

如果有人可以告诉我该怎么做-我们将不胜感激!

3 个答案:

答案 0 :(得分:1)

$('#tblId tr').each(function() {
    $(this).find('td')..each(function() {
       if (this.textContent.includes('Complimentary')) {
           $(this).parent().hide();
       }
    });
});

#tblId是该特定表的ID,并在tr和每个tr内部迭代,我调用每个td,匹配内容并隐藏该特定tr

答案 1 :(得分:0)

javascript:

document.querySelectorAll('td').forEach(function(td) {
  if (td.textContent.includes('Complimentary')) {
    td.parentElement.style.display = 'none';
  }
});

jQuery:

$('td').each(function() {
  if (this.textContent.includes('Complimentary')) {
    $(this).parent().hide();
  }
});

尽管在您的示例站点中,.tribe-tickets-form-row具有display: block !important,但它会对此进行覆盖。您可以设置.opacity = 0,尽管它仍然可以交互。或者,您也可以直接.remove()

答案 2 :(得分:0)

    $(".tribe-events-tickets tr").each( function (el) {
        $(this).children().each(function () {
            var text = $(this).text();
            if (text.indexOf("Complimentary") !== -1 ) {
                $(this).parent().hide();
            }
        });
    });

这可以有所帮助,但首先应修改代码中的以下CSS规则:

   .tribe-tickets-form-row {
    margin-top: 20px;
    display: block !important;
   }

删除“!important”,它不允许隐藏元素。 希望对您有所帮助。