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

getElementsByTagNameHTML コレクションを返します。コレクション内の各要素のスタイルを変更するには、コレクションを反復処理する必要があります。

このようなもの:

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 に答える