Javascript在

时间:2015-05-29 16:38:10

标签: javascript jquery html

我想根据标签标签中的文字隐藏文字,我想隐藏下一个标签标签中的文字。我知道如何隐藏用户名,因为文本将始终相同,但我不知道如何隐藏用户消息。

这是代码的样子:



<div id="chatbox">
	<label id="cnick">OtherUsers:</label>
	<br>
	<label id="cmsg">Some random text</label>
	<div id="cspc"></div>
	<br>
	<label id="cnick">BlockMe:</label>
	<br>
	<label id="cmsg">Some random text</label>
	<div id="cspc"></div>
	<br>
	<label id="cnick">BlockMe:</label>
	<br>
	<label id="cmsg">Some random text</label>
	<div id="cspc"></div>
	<br>
	<label id="cnick">OtherUsers:</label>
	<br>
	<label id="cmsg">Some random text</label>
	<div id="cspc"></div>
	<br>
	<label id="cnick">OtherUsers:</label>
	<br>
	<label id="cmsg">Some random text</label>
	<div id="cspc"></div>
	<br>
</div>
&#13;
&#13;
&#13;

这就是我希望javascript运行后的样子:

&#13;
&#13;
<div id="chatbox">
	<label id="cnick">OtherUsers:</label>
	<br>
	<label id="cmsg">Some random text</label>
	<div id="cspc"></div>
	<br>
	<label id="cnick" style="display: none">BlockMe:</label>
	<br>
	<label id="cmsg" style="display: none">Some random text</label>
	<div id="cspc"></div>
	<br>
	<label id="cnick" style="display: none">BlockMe:</label>
	<br>
	<label id="cmsg" style="display: none">Some random text</label>
	<div id="cspc"></div>
	<br>
	<label id="cnick">OtherUsers:</label>
	<br>
	<label id="cmsg">Some random text</label>
	<div id="cspc"></div>
	<br>
	<label id="cnick">OtherUsers:</label>
	<br>
	<label id="cmsg">Some random text</label>
	<div id="cspc"></div>
	<br>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

假设你正在使用jquery,你可以使用.html()来获取元素中的值,然后使用.next()来获取下一个标签元素。

类似的东西:

$('label').each(function(){
 if($(this).html() == "BlockMe:"){
    $(this).hide();
    $(this).next().hide()
  }
 });

答案 1 :(得分:0)

首先:请注意,ID必须是唯一的。 &#39; cnick&#39;,&#39; cmsg&#39;,&#39; cspc&#39;应该是班级。

您可以为每个用户名/消息创建一个容器。隐藏起来会更容易。

$(mySelector).hide();

然后你必须能够用jquery找到你不想用选择器(类,id或其他任何东西)隐藏的方框,你可以隐藏这样的方框:

'data_class' => 'theia\mainBundle\Entity\Registration'