隐藏元素内容的一部分

时间:2012-11-21 22:48:30

标签: javascript text hide element

对不起,这可能是一个奇怪的问题:

我有一个现有的HTML代码,我无法直接编辑或删除它的部分内容。问题是:在此代码中的div元素内部,有一些我想要隐藏的文本。这个div中还有另一个元素,我不想隐藏它。它看起来像这样:

<div>
....Text I want to hide....
<table> ... Text I don't want to hide...</table>
</div>

我的问题:是否可以隐藏“......我要隐藏的文字......”而不隐藏“......我不想隐藏的文字......”? (例如使用javascript?)

3 个答案:

答案 0 :(得分:3)

var txt = div.childNodes[0];
var range = document.createRange();
range.selectNode(txt);
var span = document.createElement("span")
range.surroundContents(span);
span.style.display = "none";

请在此处查看:http://jsfiddle.net/KZVDf/

答案 1 :(得分:0)

如果您想删除文本,可以写下:

div.removeChild(div.firstChild);

(其中div是引用此<div>元素的变量)。

如果你想把它包裹在<span>中,你可以随意隐藏和取消隐藏,你可以写:

var span = document.createElement('span');
div.insertBefore(span, div.firstChild);
span.appendChild(div.firstChild);

div与之前一样)。

答案 2 :(得分:0)

要隐藏span并将其设置为span display:none的环绕文字。例如:

<div>
<span style="display:none">....Text I want to hide....</span>
<table> ... Text I don't want to hide...</table>
</div>

或者用脚本隐藏它:

$('div span').show(); // Show hidden text in span
$('div span').hide(); // Hide text in span