为什么这个DIV会使用jQuery隐藏?

时间:2016-07-09 23:33:00

标签: jquery html

我有%filename ‘mymodel.m' fff = 0; store{fff+1,1} = 'out1'; store{fff+1,2} = 'out2'; for i = 1:2 for j = 1:2 fff = fff+1; %load Model parameter setting model_parameter_script_file if i == 1;model.param.set('x1',val1);end if i == 2;model.param.set('x1',val2);end if j == 1;model.param.set('x2',val1);end if j == 2;model.param.set('x2',val2);end try %load model solution script from COMSOL model_soulution_script_file %store table calculated from the solution into 'store' %catch null values catch store{fff+1,1} = 'null'; store{fff+1,2} = 'null'; end end end - 如果同一页面上的div包含某些文字,我需要隐藏此div

在这种情况下 - 如果td说"运送" - 我希望隐藏td。它似乎不起作用。

JsFiddle

这是我的代码:



div

jQuery(function($) {
  if ('#TBL1 table tr').has('td:contains("Shipping")') {
    $("#myDiv").hide();
  } else {
    // code to be executed if condition is false
  }
})




我试图用jQuery做这件事。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:3)

您的代码中存在两个问题:

  1. 语法错误。 if语句的语法应为:

    if ( $('#TBL1 table tr').has('td:contains("Shipping")') ) {
    
  2. .has返回过滤的 jQuery对象。对象在JavaScript中始终是一个真正的值,即使对于没有元素的jQuery集合也是如此。您需要阅读返回集合的.length属性:

    if ( $('#TBL1 table tr').has('td:contains("Shipping")').length ) {
    

答案 1 :(得分:2)

正如@Vohuman所说,您需要.length来阅读该属性,否则它将始终返回true。

开始的问题是$声明中缺少if

$(document).ready(function() {
  if ($('#TBL1 table tr td').has(':contains("Shipping")').length) {
    $("#myDiv").hide();
  } else {
    // code to be executed if condition is false
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="TBL1" class="ShipEst">
  <table align="right" style="width: 100%">
    <tbody>
      <tr>
        <td align="left">
          <b>Subtotal: </b>
        </td>
        <td align="center"></td>
        <td align="right">
          <nobr>25.00</nobr>
        </td>
      </tr>
      <tr>
        <td align="left">
          <b>Shipping: </b>
        </td>
        <td align="center"></td>
        <td align="right">
          <nobr>0.00</nobr>
        </td>
      </tr>
    </tbody>
  </table>
</div>
<div id="myDiv">
  Hide this if td contains "Shipping"
</div>

答案 2 :(得分:-1)

您忘记选择#TBL1作为JQuery选择器。这样做:

id|no.BA|name|value|date
6 |44   |kkkk|67677|31/01/2016

}