Javascript 如何通过JQuery添加不会验证为HTML5的iFrame属性

Javascript 如何通过JQuery添加不会验证为HTML5的iFrame属性,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我在HTML5页面上有一些iframe,每个都有类“a-iframe”。页面上大约有4个这样的框架,所有的形状和大小都不同 我如何通过类名获得这些框架中的每一个,并应用这些属性,这些属性不会通过W3C validator在HTML中进行验证: scrolling="no" frameborder="0" allowtransparency="true" 我当前的代码不正常,如下所示: <script type="text/javascript"> $.each($(".a-

我在HTML5页面上有一些iframe,每个都有类“a-iframe”。页面上大约有4个这样的框架,所有的形状和大小都不同

我如何通过类名获得这些框架中的每一个,并应用这些属性,这些属性不会通过W3C validator在HTML中进行验证:

scrolling="no" frameborder="0" allowtransparency="true"
我当前的代码不正常,如下所示:

<script type="text/javascript">
    $.each($(".a-iframe"), function() 
    {   
        $(this).attr({
            scrolling: "no",
            frameborder: "0",
            allowtransparency: "true"
        });     
     });
</script>

$.each($(“.a-iframe”),函数()
{   
$(this.attr)({
滚动:“否”,
框架边框:“0”,
允许透明度:“真实”
});     
});

这应该可以做到

$(文档).ready(函数(){
$(“.a-iframe”).each(function(){
$(this.attr)({
滚动:“否”,
框架边框:“0”,
允许透明度:“真实”
});
log($(this));
});
});

在播放代码一段时间后,我在JSFIDLE上观察到,可能是因为滚动条是否显示取决于内容加载时,而不是属性设置时,所以我改为:

已编辑:这些代码将在我的网站上工作:

$('.a-iframe').attr({
    scrolling: "no",
    frameborder: "0",
    allowtransparency: "true"
  });
使用选择器时,您将获得与选择器匹配的所有元素的数组,jquery函数可以一次应用于所有元素

$(函数(){
$('.a-iframe').attr({
滚动:“否”,
框架边框:“0”,
允许透明度:“真实”
});
});


no,如果iframe指向一个包含更多内容或边距的页面,那么iframe允许,滚动条仍然会显示出来。我不能使用你放在
标签中的“内联”属性,因为html5验证将失败。滚动、框架边框和allowtransparency都不推荐使用。我真的不明白,因为在标准css中没有替代品。当然有<代码>溢出:隐藏
边框:无
您可以通过
$(选择器).CSS('propertyName')获取CSS属性我不能像那样动态更改src。即使我尝试了
$(this.attr('src',$(this.attr('src'))它仍可能尝试加载帧两次。滚动条也存在!顽固的滚动条!
$(window.load(function(){…})
对这个问题有帮助吗?看第二次加载是否不会使iframe滚动条消失?也许您可以修改我的jsfiddle示例来演示您有什么限制?idk,所有的IFrame都有不同的源代码值。是否有其他方法可以在不更改源的情况下重新加载?尽管如此,我真的无法重新加载源内容,因为iFrame指向的站点会计算和监控印象(即页面加载),所以每次页面加载时,双重页面加载对我来说是不可行的。你定义了css规则吗?如果我把它放在我的示例中,它只显示没有滚动条,即使我去掉了所有的js:SjsFiddle(无论如何,在本例中)也不会显示一个准确的表示,如果您在自己的服务器上上传一个带有预先指定iFrame的html文件,您会看到什么。他们必须限制一些用户代码,因为所有善良的小黑客都试图利用恶意js攻击它们。