需要在这里进行干预,因为我对这个 0_o 几乎失去了理智
我正在使用 IE 9 并且正在使用 IE 的 F12 开发人员工具,试图测试 IE8。我正在使用 JavaScript 执行一项非常简单的任务。
我正在抓取一些内部 html - 出于任何原因将其用作刺痛。
像这样:
<div id="Some_Container_div">
<div class="Some_Inner_Div_Class">sometext</div>
<div class="Some_Inner_Div_Class">sometext</div>
<div class="Some_Inner_Div_Class">sometext</div>
</div>
<script>
var Div_Contaiers_Inner_Html_As_String = document.getElementById('Some_Container_div').innerHTML;
alert(Div_Contaiers_Inner_Html_As_String);
Array_Of_Divs = Div_Contaiers_Inner_Html_As_String.split("</div>");
alert(Array_Of_Divs);
</script>
上面的代码正确警告:首先:
<div class="Some_Inner_Div_Class">sometext</div><div class="Some_Inner_Div_Class">sometext</div><div class="Some_Inner_Div_Class">sometext</div>
然后第二个警告正确的数组:
<div class="Some_Inner_Div_Class">sometext,<div class="Some_Inner_Div_Class">sometext,<div class="Some_Inner_Div_Class">sometext,
如果我现在使用开发人员工具 (f12) 并切换到“浏览器模式”IE8 并将“文档模式”也切换到 IE8,浏览器现在会发出警报:
第一的:
<DIV class=Some_Inner_Div_Class>sometext</DIV><DIV class=Some_Inner_Div_Class>sometext</DIV><DIV class=Some_Inner_Div_Class>sometext</DIV>
- 现在注意到缺少的引号了吗?
- 现在注意到“DIV”这个词的大写了吗?
接下来它会提醒同样的事情:
<DIV class=Some_Inner_Div_Class>sometext</DIV><DIV class=Some_Inner_Div_Class>sometext</DIV><DIV class=Some_Inner_Div_Class>sometext</DIV>
所以看起来它现在甚至没有将字符串拆分成一个数组 - 不知道为什么,就像它不再是一个字符串一样。
如果我现在使用开发人员工具 (f12) 并保持“浏览器模式”IE8 并将“文档模式”也切换到 IE9 - 它再次正常工作......
所以非常感谢比尔盖茨再次让我感到困惑0_O
无论如何 - 所以我在这里寻求帮助 - 我看到有人说你应该在使用开发人员工具进行测试时将“浏览器模式”切换到 IE8 和“文档模式”也切换到 IE8 - 但我没有看到我理解的解释为什么。如果你只切换一个或两个有什么区别。
同时:
- 谁能告诉我这是否会在 IE8 中正常工作?
- 为什么要去掉引号?
- 为什么不在开发人员工具测试模式下创建数组?
谢谢大家 : )