我需要将<div>中的样式从{align, left}更改为{align, right}

function changeAttribute() {
    var gg = document.getElementsByTagName("div");
    var allP = gg[12].childNodes;
    var par, align;
    for (i = 0; i < allP.length; i++) {
        par = allP[i];
        gAl = par.getAttribute("align");
        if (!gAl) {
            continue
        } else if (gAl == "right") {
            align = par.setAttribute("align", "left");
        }
        align = par.setAttribute("align", "right");
    }
}

最佳答案

好像您最后遗漏了else语句。
align总是设置为“正确”。

var gg  = document.getElementsByTagName("div");
var allP = gg[12].childNodes;

var par, align;
for (i = 0; i < allP.length; i++){
    par = allP[i];
    if (gAl.nodeType !== Node.ELEMENT_NODE) continue;
    gAl = par.getAttribute("align");
    if(!gAl){
        continue
    } else if ( gAl == "right"){
        align = par.setAttribute("align", "left");
    } else {
        align = par.setAttribute("align", "right");
    }
}

关于javascript - 为什么TypeError:par.getAttribute不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48823544/

10-12 19:09