2

font-familyで設定することは可能<option>ですか?試しfont-familyましたが、うまくいきませんでした。これが私が持っているコードです:

var fonts = ["Arial", "Helvetica", "Serif", "Cambria"];
for (i = 0; i < fonts.length;i++) {
    var font  = document.createElement("option");
    var fontT = document.createTextNode(fonts[i]);

    document.getElementById ("t-font").appendChild (font);
    font.appendChild (fontT);
    font.style.fontFamily = fonts[i];
}

デモ

jsに何か問題がありますか、それともhtmlでそれを行うことはまったく不可能ですか?

4

2 に答える 2

1

該当する仕様には、option 要素に font-family を設定することを妨げるものは何もありませんが、ブラウザーのサポートはむらがあります。

于 2012-10-14T19:32:58.467 に答える
0

select要素はこの目的には適していないため、アプローチ(またはHTMLタグ)を変更する必要があると思います。ブラウザごとに動作が異なります。ボタンを使いRADIOます。そのようです:

<div id="choose_font">
</div>
<script>
    var fonts = ["Arial", "Helvetica", "Serif", "Cambria"];
    var container = document.getElementById('choose_font');
    for (i = 0; i < fonts.length;i++) {
        var input = document.createElement('INPUT');
        var label = document.createElement('LABEL');
        input.setAttribute("id","t_"+fonts[i]);
        input.setAttribute("type","radio");
        input.setAttribute("name","t_font");
        label.setAttribute("for","t_"+fonts[i]);
        label.style.fontFamily = fonts[i];
        label.appendChild(document.createTextNode(fonts[i]));
        container.appendChild(input);
        container.appendChild(label);
        container.appendChild(document.createElement('BR'));
    }
</script>

適切なCSSを使用すると、選択のように見せることができます。

于 2012-10-14T19:53:22.657 に答える