它是如何工作的? - 使用YUI进行非IE修复的Javascript函数

时间:2010-03-05 15:26:54

标签: javascript dom yui

这是我想要了解的代码:

noniefix.js:

function fixNonIE() {
if(YAHOO.env.ua.ie > 0) {
    return false;
}
var divs = YAHOO.util.Dom.get('bd').getElementsByTagName('div');
if(divs.length > 0) {
    YAHOO.util.Dom.batch(divs, pushup);
    alert (divs.length+" divs in file!");
}
}

function pushup(el) {
if(el.id.search('fixer') != -1) {
    return;
}
if(el.innerHTML.search('javascript:textWindow') != -1) {
    el.style.zIndex = parseInt(el.style.zIndex) + 1;
}
var pushupTags = Array('p');
if(pushupTags.length > 0) {
    for(var t=0; t<pushupTags.length; t++) {
        var elems = el.getElementsByTagName(pushupTags[t]);
        YAHOO.util.Dom.batch(elems, (function(e) { e.style.marginTop=0; e.style.marginBottom=0; })); //what's happening HERE?
    }
}
return;
}

我在YUI上读过一些内容,所以我知道批处理函数只需要一个元素数组并将函数应用于每个元素。我不明白的是marginTop,marginBottom更改的应用位置。我认为它们适用于每个<p>标记,但我查看了页面的源代码,但无法找到插入此代码的位置。

任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:0)

您无法在源代码中看到此函数的结果,因为它通过JS动态地应用于以数组编写的每个DOM标记。但您可以使用一些调试器软件查看更改,例如,在Internet Explorer 8中构建,或者在Mozilla Firefox下构建firebug。