在 iframe 中获取带有 class 的元素

Hal*_*ist 5 javascript iframe jquery internet-explorer-8

iframe我的页面上有几个s。有一些元素test内部带有类名。我需要style为它们设置任何一个。

当我只有一个时iframe,我可以使用下一个构造:

$('#iframeId').contents().find('.test').css({background: '#f00'});
Run Code Online (Sandbox Code Playgroud)

但我有几个iframe,所以最好不要设置混凝土iframe并使用如下结构:

$('.test').css({background: '#f00'});
Run Code Online (Sandbox Code Playgroud)

但这当然行不通。

getElementsByClassName之前用过native,但是在 中不起作用IE8,出现缺陷。

这可能是一个愚蠢的问题,但是..有没有类似的结构:

$(getElementById('something')).css({background: '#f00'});
Run Code Online (Sandbox Code Playgroud)

这会很有帮助。我的意思是,JavaScript用对象包装对象jQuery,然后使用jQuery它们的方法。

更新:我通过下一个构建解决了这个问题:

[].forEach.call(document.getElementById('something').querySelectorAll('.test'), function (el) {
    el.style.backgroundColor = '#f00';
});
Run Code Online (Sandbox Code Playgroud)

但它仍然不起作用IE8

Kun*_*han 7

你应该尝试这样的事情

$("iframe").each(function(index){
   $(this).contents().find('.test').css({background: '#f00'});
});
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助。