如何隐藏p标签中的所有内容,除了span jQuery
How to hide everything inside a p tag except span jQuery?
我有一个<p>
标签,我需要隐藏文本。还有一个<span>
里面的<p>
,我不想隐藏这个文本。这是可能做到不改变标记使用jQuery吗?
小提琴:http://jsfiddle.net/ghogdc0x/2/
html:<p class="class">
<span>Text not to hide</span>
<br>
Text to hide
</p>
你可以使用css visibility属性:
$('.class').css('visibility', 'hidden');
$('.class').children().css('visibility', 'visible');
这是一个工作的代码依赖
然后你可以让它再次可见:
$('.class').css('visibility', 'visible');
您可以简单地复制span元素附近的p标记,然后隐藏p标记。试试这个:
$("p").after($("p span"))
$("p").hide()
使用此方法并尝试将要隐藏的文本包装在包装器p元素中,如
<p><span>Text not to hide</span><br/><p>Text to hide</p></p>
$('p').find('*').not('span').css('display','none');
不能隐藏文本节点。您只能删除它们,或者用另一个元素包装它们,并隐藏该包装器元素。
下面的代码片段隐藏了非span元素并删除了文本节点子元素。
$('p.class').contents().each(function() {
var $this = $(this);
if ( this.nodeType === 3 && $.trim(this.nodeValue) ) {
$this.remove();
// in case that you just want to hide the text node
// $this.wrap('<i>').parent().hide();
} else if ( this.nodeType === 1 && this.tagName !== 'SPAN' ) {
$this.hide();
}
});
http://jsfiddle.net/xxpopvje/相关文章:
- Javascript/jQuery:用HTML span标记替换单引号中的文本
- jQuery将文本从span标记复制到另一个span标记
- 使用jquery将单个换行符替换为span元素
- 使用jquery过滤逗号分隔的span文本
- jQuery span类选择器
- jQuery隐藏函数与“;按钮“;以及“;span”;但不是用“;a“;要素
- 在 jquery 选项卡中查找 span 标记并返回该索引
- 使用 Jquery 将 Span with Class 添加到输入标记中
- jQuery访问列表视图->ul->李->span->img
- 启用和禁用基于even-in-jQuery的Span类
- jquery find关闭td中的span
- Jquery:如何在保留文本的同时打开字符串的所有span标记
- jQuery Validation Form span not working
- 用jQuery.html更新span内部html在IE中不起作用
- jQuery复选框和span共享一个单击事件
- jquery单击链接并获取单选输入值以更改span中的文本
- 当我使用jQuery EasyUI时,我如何在span中写入数据
- jquery缓慢地追加span
- Jquery .span refresh onclick
- 在 jquery span 文本中使用 HTML 字符名称