使用JS隐藏文本(不是元素本身)

时间:2012-06-12 21:56:51

标签: javascript jquery html

有没有办法使用JavaScript隐藏HTML元素中的文本,而不是元素本身?所以,如果有人

<span style="border: 1px solid green">Hello world!</span>

怎么可能隐藏“Hello world!”但不是边境?如果还有一个简化的jQuery解决方案,你也可以包含它吗?

5 个答案:

答案 0 :(得分:1)

$(<mydiv>).css('color', $(<mydiv>).css('background-color'))是唯一不会改变DOM的解决方案。

如果您接受更改,则可以使用$(<mydiv>).html($('<div>'+$(<mydiv>).html())+'</div>').css({visibility: 'hidden'}))

之类的内容

或类似的东西。

希望这会有所帮助。

答案 1 :(得分:1)

如果它是块级元素,您可以使用text-indent:-9999px;

答案 2 :(得分:1)

是的。它被称为.wrapInner()

$("div").wrapInner('<span class="hide" />');

DEMO: http://jsfiddle.net/9KzgJ/

答案 3 :(得分:0)

您可以使用嵌套范围并隐藏它......

<span style="border: 1px solid green"><span id="text1">Hello world!</span></span>

答案 4 :(得分:0)

简短回答否。

可悲的是,如果不将所有元素全部替换,隐藏元素或将元素文本更改为空白,则无法隐藏文本......

但是,您可以使用javascript附加相同的元素..然后隐藏您想要的元素...

但除了这个选项,戈登贝尔的回答可能是你最好的选择......