2016-09-29 89 views
-1

我试图通过jquery隐藏内容中的文本元素specific。下面的例子。从内容中查找文本,然后使用jQuery隐藏

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任何简单的解决办法?

回答

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>

0

试一次

$('#name').click(function(){ 
 
$('#name p').hide(); 
 
});
<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>

0

,因为它增加了一个新的线不要使用<p>

更改您的HTML:

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

并添加代码:

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

可以隐藏主要由以下几个DIV中p元素。

$(#name> p).hide();

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>

+1

'replace'它不是一个jQuery方法,但vanila的JavaScript。 –

+0

感谢您指出这一点! –

0

如果你不想它,它自己的段落,则可以使用一个跨度。指定一个类或ID来跨度可能会是最好的,但你有什么:

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

$(#name p).hide(); 

就可以了(找到的所有段落在名为“名称”的元素和隐藏)

1

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

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

这将删除所有div中的“Specific”字。你可以把元素ID从特定的div中删除。

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>