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

时间:2016-04-21 23:57:27

标签: javascript jquery

我试图在页面上创建一个Div如果页面后面有一个单词,则显示? ,如果页面中出现10个列表中的任何单词,我真正喜欢它的内容是什么?我想要寻找他们的唯一地方就是那个TD课程" sku nobr"之后的课程" td-title"

我是一个新手,我用这个代码得到它的H1值,但我不知道怎么用4523这样做呢?

感谢!!!!!



<script type="text/javascript">
$(document).ready(function(){
 if ($(".sku nobr:contains('4523')").length) {
   $("#thingtohide").removeAttr("style").none();
}
});
</script>
&#13;
  <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>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:2)

首先,您的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();
    }
});

修改如果您要查找任何数字(可以包含逗号),您必须更具创意。您可以使用filter方法。这是另一个demo

$(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();
    }
});

答案 1 :(得分:1)

看起来你有一个小错字。

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

更改为:

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

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

答案 2 :(得分:0)

检查cel是否包含多条文本我做了这个:

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