Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Internet Explorer中,粘贴HTML是否会导致意外行为?_Javascript_Html_Internet Explorer - Fatal编程技术网

Javascript 在Internet Explorer中,粘贴HTML是否会导致意外行为?

Javascript 在Internet Explorer中,粘贴HTML是否会导致意外行为?,javascript,html,internet-explorer,Javascript,Html,Internet Explorer,我有以下HTML w/Javascript代码(注意:这只适用于Internet Explorer): 函数changeIt(){ var startTag=“”; var endTag=“”; var htmlStr=document.selection.createRange().htmlText; document.selection.createRange().pasteHTML(startTag+htmlStr+endTag); } .h{背景:黄色;} 八十七年 要使用此功能,只

我有以下HTML w/Javascript代码(注意:这只适用于Internet Explorer):


函数changeIt(){
var startTag=“”;
var endTag=“”;
var htmlStr=document.selection.createRange().htmlText;
document.selection.createRange().pasteHTML(startTag+htmlStr+endTag);
}
.h{背景:黄色;}
八十七年

要使用此功能,只需突出显示屏幕中显示的文本的任何部分,然后单击“更改”按钮。现在,奇怪的行为:

如果你突出显示单词“Four”(带有粗体标记),并在四个后面加上任何其他内容,它将使整个突出显示变为粗体,这不是我想要的。换句话说,如果用鼠标高亮显示:

四七

<span class='h' id='123abc'><b>Four</b> score and seven</span>
然后点击“更改”按钮,输出: 四七

<span class='h' id='123abc'><b>Four</b> score and seven</span>
4分7秒
我希望它输出以下内容: 四七

<span class='h' id='123abc'><b>Four</b> score and seven</span>
4分7秒
我做错了什么?我将用Javascript或jQuery获取答案


注意:这里的背景色似乎没有正确显示,但我的观点是,如果我不希望整个选择变为粗体。

如果您使用的是示例中的
TextRange
,您可以使用其内置的
execCommand
方法执行许多格式化任务。对于背景色示例,应如下所示:

function changeIt() {
    document.selection.createRange().execCommand("BackColor", false, "yellow");
}

注意:此示例仅适用于IE。

如果您正在使用示例中的
文本范围
,则可以使用其内置的
execCommand
方法执行许多格式化任务。对于背景色示例,应如下所示:

function changeIt() {
    document.selection.createRange().execCommand("BackColor", false, "yellow");
}

注意:此示例仅适用于IE。

您的代码在我的机器(IE8)上没有任何作用。请重试;我只是重新编辑了代码,并自己在IE8上再次测试了它。确保先突出显示一些文本,然后单击按钮。您的代码在我的计算机(IE8)上没有任何作用。请重试;我只是重新编辑了代码,并自己在IE8上再次测试了它。请确保先突出显示一些文本,然后单击按钮。这对于本例非常有效,这正是我要查找的内容,但是,如果我想将类和id添加到中,该怎么办?不管怎样,我已经找到了答案。这是一个很好的催化剂,可以让我自己解决问题。再次感谢,你好,詹姆斯。你提到这是你制定自己解决方案的催化剂。你能为我们其他人发布你的解决方案吗?这对于这个例子来说非常有效,这正是我想要的,但是,如果我想添加一个类和id来代替呢?不管怎样,我已经解决了。这是一个很好的催化剂,可以让我自己解决问题。再次感谢,你好,詹姆斯。你提到这是你制定自己解决方案的催化剂。你能为我们其他人发布你的解决方案吗?