从内容中查找文本然后使用jQuery隐藏

时间:2016-09-29 13:08:05

标签: javascript jquery html regex text

我正在尝试通过jquery从内容中隐藏specific文本元素。示例如下。

HTML:

<div id="name">
Trying hide specific Text elements from content.
</div>

我想通过jquery

<div id="name">
Trying hide <p style="display: none;">specific<p> Text elements from content.
</div>

jquery有什么简单的解决方案吗?

8 个答案:

答案 0 :(得分:3)

您可以使用.html()方法。

另外,使用正则表达式可以隐藏所有

像这样:

var hideElm = 'specific',
    regex = new RegExp(hideElm, 'g');

$('#name').html(function(i, html){
  return html.replace(regex, '<span style="display:none">' + hideElm + '</span>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="name">
Trying hide specific Text elements from content. Another specific
</div>

答案 1 :(得分:1)

使用replace()方法

检查此代码段:

$(document).ready(function() {
  $('button').click(function() {
    $('#name').html(function(index, text) {
      return text.replace('specific', '<p style="display:none;">specific</p>');
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="name">
Trying hide specific Text elements from content.
</div>
<br />
<button>Hide</button>

答案 2 :(得分:1)

如果你想从div中的文本中删除该单词,那么你可以试试这个:

$('div:contains("Specific:")').each(function(){
    $(this).html($(this).html().split("Specific:").join(""));
});

这将删除&#34;具体&#34;来自所有div的词。您可以将元素ID从特定div中删除。

答案 3 :(得分:0)

尝试一次

&#13;
&#13;
$('#name').click(function(){
$('#name p').hide();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="name">
Trying hide <p >specific</p> Text elements from content.
</div>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

请勿使用<p>,因为它会添加新行。

更改你的html:

<div id="name">
    Trying hide <span class="specific">specific</span> Text elements from content.
</div> 

并添加代码:

$('.specific').hide();

答案 5 :(得分:0)

您可以通过以下方式隐藏主div中的p元素。

  

$(#name&gt; p).hide();

答案 6 :(得分:0)

如果您不想要它自己的段落,您可以使用跨度。为该范围分配一个类或id可能是最好的,但是你拥有的是:

<div id="name">
Trying hide <p style="display: none;">specific<p> Text elements from content.
</div>

$(#name p).hide();

将起作用(找到名称为“name”的元素中的所有段落并隐藏它们)

答案 7 :(得分:0)

这是jquery

 <script>
    $(document).ready(function(){
     $('#name').find('.specific').hide();

    });
    </script>

这是HTML

 <div id="name">
            Trying hide <span class="specific">specific</span> Text elements from content.
    </div>