Javascript document.contains无法在IE11上运行
Javascript document.contains not working on IE11
我正在一个Business Catalyst网站(Adobe)上工作。我需要在每一行项目后面插入一个占位符div,另一个脚本稍后会将信息附加到这些项目中。这在大多数浏览器上都很好,但在IE 11上没有任何作用。
脚本在一行中查找要插入的最后一个项after,即行包含4个项,但如果最后一行只有1或2个项,则会将其插入最后一行之后。
我使用的是Jquery 1.1,但刚刚切换到1.7,似乎没有什么区别。
我的标记:
<div class="roller col-md-3" id="roller001">
<div class="roller-type">
<div class="roller-image">
{tag_small image_nolink}
</div>
<a class="roller-btn" onclick="appendRoller{tag_itemid}('{tag_itemid}')" href="javascript:void(0);">{tag_name_nolink}</a>
</div>
</div>
<div class="roller col-md-3" id="roller002">
<div class="roller-type">
<div class="roller-image">
{tag_small image_nolink}
</div>
<a class="roller-btn" onclick="appendRoller{tag_itemid}('{tag_itemid}')" href="javascript:void(0);">{tag_name_nolink}</a>
</div>
</div>
脚本:
<script type="text/javascript">
$(document).ready(function(){
var rollerItems = document.getElementsByClassName('roller');
for (n=0; n<rollerItems.length; n++) {
if(n%4 == 0) {
var rowEnd = rollerItems[n];
if(document.contains(rollerItems[n+1])) { rowEnd = rollerItems[n+1]; }
if(document.contains(rollerItems[n+2])) { rowEnd = rollerItems[n+2]; }
if(document.contains(rollerItems[n+3])) { rowEnd = rollerItems[n+3]; }
$('<div class="popup-row"></div>').insertAfter(rowEnd);
}
}
});
</script>
我已经意识到问题根本不在于"insertAfter"命令,而在于"document.countains"。显然IE不将"document"视为节点,我需要使用"document.body.countaines"来确定行末尾的项。
例如。
if(document.body.contents(rollerItems[n+1])){rowEnd=rollerItems[n+1];}
一行一行地浏览了所有内容,但掩盖了这一点!不确定这是否是最好的解决方案,但至少现在有效。
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Angularjs代码未在匿名函数中运行
- 具有大型数据集的组件仅在 IE11/Edge 上运行缓慢
- AngularJS:为什么ng show没有在IE11上运行
- Sys.WebForms.PageRequestManager在IE11中是未定义的错误,在IE10及以下版本中运行良好
- IE11 运行时错误: 429 ActiveX 组件无法创建对象
- 此代码未运行IE11
- 由于某种原因(淡出等),这个JQuery网站无法在IE11上运行
- 如何轻松运行本地内容(javascript, Flash),特别是在IE11中
- 可以在IE11中运行userscript
- 可以用量角器运行IE11仿真吗?
- JCarousel只运行在IE11当我有检查元素窗口打开
- 在IE11中出现Java脚本错误,但在IE9中运行正常
- JavaScript在ie11中没有像预期的那样运行,但在所有其他浏览器中都运行良好
- Javascript document.contains无法在IE11上运行
- 当作为 Web 应用程序运行时,对象不支持 IE11 上的属性或方法“create”,在浏览器中直接打开 HTML 时很