【问题标题】:Hiding a div that contains a specific string in jQuery在jQuery中隐藏包含特定字符串的div
【发布时间】:2012-08-02 12:19:01
【问题描述】:

根据另一个问题尝试了以下内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-latest.min.js"></script>
<script type="text/javascript">
$("div p:contains('text')").parent('div').hide();
</script>

<title>test</title>
</head>

<body>

<div>
<p>text</p>
</div>

</body>
</html>

但它不起作用。我是否遗漏了一些明显的东西?

【问题讨论】:

    标签: jquery hidden


    【解决方案1】:

    您错过了 document.ready 事件。见http://api.jquery.com/ready/

    <script type="text/javascript">
    $(document).ready(function () {
       $("div p:contains('text')").parent('div').hide();
    });
    </script>
    

    【讨论】:

    • 谢谢!不敢相信我错过了。以“立即购买”输入按钮而不是 div 为目标的代码是什么样的?
    【解决方案2】:

    你只需要在 DOM 加载完成后运行你的 jQuery 东西。

    $(document).ready(function() {
      $("div p:contains('text').parent('div').hide();
    });
    

    【讨论】:

      【解决方案3】:

      看起来代码没有问题。

      $(document).ready(function () {
          $("div p:contains('text')").parent('div').hide();
      });
      

      签出this

      更新

      全部检查this。这是上述版本的不区分大小写

      // Add the case-insensitive selector
      $.expr[":"].containsNoCase = function(el, i, m) {
          var search = m[3];
          if (!search) return false;
      
          var pattern = new RegExp(search,"i");
          return pattern.test($(el).text());
      };
      
      $(document).ready(function() {
          $("div p:containsNoCase('text')").parent('div').hide();
      });
      

      【讨论】:

      • 因为 eval 而被否决。您可以使用new RegExp 创建一个不带 eval 的正则表达式。
      • @VesQ,我已经更新了我的答案,用 RegExp 替换了 eval。另外,我搜索了一下,但找不到为什么 eval 是邪恶的?你能解释一下吗?
      • 如何只隐藏包含文本的 div?目前它隐藏了所有的父内容。
      猜你喜欢
      • 2019-06-25
      • 2021-12-10
      • 2013-07-26
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-17
      • 1970-01-01
      相关资源
      最近更新 更多