我无法让这个工作。如果建议的td
包含“OH”,我只想显示用于测试目的的警报。
<table id="v65-cart-shipping-details">
<tr>..</tr>
<tr>..</tr>
<tr>
<td>United States, OH 43112</td>
<tr>
</table>
无论是什么内容(即美国,MI 48187),警报仍然会弹出,我错过了什么?
$(document).ready(function() {
if ($("#v65-cart-shipping-details tr:eq(2) td:contains('OH')")) {
alert("Did Stuff") }
});
答案 0 :(得分:9)
因为即使找不到元素,它也会返回true。试试这个:
$(document).ready(function() {
if ($("#v65-cart-shipping-details tr:eq(2) td:contains('OH')").length) {
alert("Did Stuff") }
});
答案 1 :(得分:0)
你必须要小心。如果此表在HTML中很大,则可能会使浏览器崩溃(读取:IE8-)。如果您正在生成html,那么格式化地址单元格要快得多:
<tr class="address" data-state="OH" data-zip="43112" ... >
<td>United States, OH 43112</td>
<tr>
然后你可以轻松选择它:
if( $("#v65-cart-shipping-details tr.address").is('[data-state="OH"]') )
alert('mom');