0
function normToggle(){
document.getElementById('normToggle').onclick = function(){
    if(document.getElementById('normToggle').checked){
    document.getElementsByTagName('add').style.verticalAlign= 'baseline';
    }else{
        document.getElementsByTagName('add').style.verticalAlign= 'super';
    }
};
document.getElementsByTagName('add').style.verticalAlign= 'super';
document.getElementById('normToggle').checked = false;
}

所以我尝试使用复选框来更改“添加”标签的样式。他们的垂直对齐首先是超级的,然后我想让他们改变正常,但他们没有回应。smae 文件中的另一个 javascript 工作得很好。

4

1 回答 1

0

getElementsByTagName返回一个 HTML 集合 - 您需要遍历集合以更改集合中每个元素的样式

像这样的东西:

function normToggle() {
    var setAlign = function (align) {
        [].forEach.call(document.getElementsByTagName('add'), function(tag) {
            tag.style.verticalAlign = align;
        });
    }
    document.getElementById('normToggle').addEventListener('click', function() {
        setAlign(this.checked ? 'baseline' : 'super');
    });
    setAlign('super');
    document.getElementById('normToggle').checked = false;
}

现在看代码,你不可能有元素被调用<add>!!!这是您的 HTML 中的某种错误吗?

于 2015-11-15T11:00:05.897 回答