基本 Jquery - 如果 TD 中存在文本,则使 DIV 可见

Basic Jquery - If Text exists in a TD then Make a DIV Visible

本文关键字:文本 则使 DIV 可见 存在 Jquery 如果 TD 基本      更新时间:2023-09-26

我正在尝试在页面上制作一个 Div 如果页面上稍后存在单词,则会出现? ,我实际上希望它做的是显示页面上是否出现 10 个列表中的任何单词? 我唯一想寻找它们的地方是在那个跨度类"td-title"之后的那个 TD 类"sku nobr"里面

是一个彻头彻尾的菜鸟,我用这段代码让它为 H1 值工作,但我不知道如何使用现在所在的 4523 来做到这一点??

谢谢!!!!!

<script type="text/javascript">
$(document).ready(function(){
 if ($(".sku nobr:contains('4523')").length) {
   $("#thingtohide").removeAttr("style").none();
}
});
</script>
  <div id="thingtohide" style="display: none;">COOL TEXT TO DISPLAY</div>
    <tr class="cart-item-row">
      <td class="sku nobr">
        <span class="td-title">SKU:</span>
        4523
      </td>
    </tr>

首先,您的 HTML 无效。您缺少<table></table>标记。

<div id="thingtohide" style="display: none;">COOL TEXT TO DISPLAY</div>
<table>
    <tbody>
        <tr class="cart-item-row">
            <td class="sku nobr">
                <span class="td-title">SKU:</span>4523
            </td>
        </tr>
    </tbody>
</table>

其次,你的选择器是错误的。将.sku nobr:contains('4523')替换为.sku:contains('4523')

$(document).ready(function(){
    if ($(".sku:contains('4523')").length) {
        $("#thingtohide").show();
    }
});

编辑 如果您正在寻找任何数字(可以包含逗号),您必须更具创造力。您可以使用筛选方法。这是另一个演示。

$(document).ready(function(){
    // find TD with class 'sku' containing numbers
    var $sku = $("td.sku").filter(function () {
        // assuming the number is 4523,8563,9997,7757
        // text = $.trim($(this).text());     => SKU:4523,8563,9997,7757
        // text = text.replace(/SKU:|,/g, ''); => 4523856399977757
        var text = $.trim($(this).text().replace(/SKU:|,/g, ''));
        // check that it is a number
        return text && !isNaN(text);
    });
    // check if there are any matches
    if ($sku.length) {
        $("#thingtohide").show();
    }
});

看起来你有一个小错别字。

$(".sku nobr:contains('4523')")

更改为:

$(".sku.nobr:contains('4523')")

多个类需要用.分隔,而不是空格。

为了检查 cel 是否包含多段文本,我这样做了:

<script>
$(document).ready(function(){
    if ($(".sku:contains('4523'),.sku:contains('5678')").length) {
        $("#thingtohide").show();
    }
});
</script>