JavaScript不会在Safari中创建/添加元素

时间:2013-08-13 17:36:16

标签: javascript html safari

我有一个JavaScript函数,当按下按钮时,它会向选择下拉列表添加两个选项。但是,它似乎只适用于Firefox和Chrome,而不适用于Safari。

function ShowNextForm()
{
    if(document.myform.Simulation[0].checked == true)
    {
        var select1 = document.getElementById('Calc_Select');
        if (select1.length == 8)
        {
            var option1a = document.createElement("Option");
            option1a.text = "NIEL (approx.) Fluence";
            option1a.value = "NIEL Fluence*";
            select1.add(option1a, select1.options[select1.length - 1]);
        }
    }
}

由于

1 个答案:

答案 0 :(得分:0)

虽然我可以让您的代码在(所有)浏览器中运行 - http://jsfiddle.net/2mmAF/,但更改代码以使用insertBefore似乎可以缓解您在Safari中遇到的一些问题。这是使用的代码:

var selectElement = document.getElementById('Calc_Select'),
    newOption = document.createElement("option");
newOption.text = "NIEL (approx.) Fluence";
newOption.value = "NIEL Fluence*";

selectElement.add(newOption, selectElement.options[selectElement.options.length - 1]);

DEMO: http://jsfiddle.net/8LCkE/