0

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

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

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

4

5 回答 5

1

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

如果你接受改变,你可以使用类似的东西$(<mydiv>).html($('<div>'+$(<mydiv>).html())+'</div>').css({visibility: 'hidden'}))

或类似的东西。

希望这会有所帮助。

于 2012-06-12T22:01:33.437 回答
1

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

于 2012-06-12T22:18:43.960 回答
1

就在这里。它被称为.wrapInner()

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

演示:http: //jsfiddle.net/9KzgJ/

于 2012-06-12T22:23:26.150 回答
0

您可以使用嵌套跨度并将其隐藏...

<span style="border: 1px solid green"><span id="text1">Hello world!</span></span>
于 2012-06-12T22:00:35.330 回答
0

简短的回答没有。

可悲的是,如果不一起替换元素、隐藏元素或将元素文本更改为空白,则无法仅隐藏文本......

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

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

于 2012-06-12T22:02:37.293 回答