我有%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
。它似乎不起作用。
这是我的代码:
div

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

我试图用jQuery做这件事。任何帮助表示赞赏。
答案 0 :(得分:3)
您的代码中存在两个问题:
语法错误。 if
语句的语法应为:
if ( $('#TBL1 table tr').has('td:contains("Shipping")') ) {
.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
}