附加文本Javascript

时间:2009-08-20 11:08:46

标签: javascript html internet-explorer

我有很长的HTML版本;我通过找到我的文本并用一个跨度包装它来完成命中突出显示,这使得文本对用户来说是显而易见的

<span id="MySpan" style="background-color:yellow">Some Text</span>

我遇到的问题是,如果他们更改我需要删除第一个搜索的搜索字词,则添加格式很容易;理想情况下无需刷新页面。

我的目标是删除范围(并使用格式)但保留文本。

我可以使用removeChild轻松删除跨度;虽然丢失了所有文字。我不知道如何保持跨度的innerHTML;我最初的想法是在跨度之后追加它,所以我的过程将是这样的。

var OriginalText = MySpan.InnerHTML();
var myDiv = document.getElementByID("MySpan");
-- Something here to append the text after the original span --
myDiv.ParentNode.removeChild(myDiv);

我在Internet Explorer的土地上,如果这让生活更轻松。

2 个答案:

答案 0 :(得分:5)

假设跨度仅包含文字:

var span = document.getElementById('MySpan');
var text = span.firstChild;
var parent = span.parentNode;
parent.replaceChild(text, span);

答案 1 :(得分:0)

您可以使用css隐藏数据而不删除跨度本身只需将css“display:none”附加到span“style”属性中。

使用css

display: none;

然后使用

替换数据
parentNode.replaceChild(searchstring, span)