Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-动态表行don';我不在歌剧院工作_Javascript_Jquery_Html_Dynamic_Html Table - Fatal编程技术网

Javascript jQuery-动态表行don';我不在歌剧院工作

Javascript jQuery-动态表行don';我不在歌剧院工作,javascript,jquery,html,dynamic,html-table,Javascript,Jquery,Html,Dynamic,Html Table,示例(适用于Firefox): 我无法将select元素动态添加到表中。这在Firefox中有效,但在IE和Opera中失败。这是怎么回事 DOM代码: <table id = "myTable"> <thead> <tr><th>1</th><th>2</th><th>3</th> </thead> <tbody> </tbody> </tab

示例(适用于Firefox):

我无法将select元素动态添加到表中。这在Firefox中有效,但在IE和Opera中失败。这是怎么回事

DOM代码:

<table id = "myTable">
<thead>
<tr><th>1</th><th>2</th><th>3</th>
</thead>
<tbody>
</tbody>
</table>
<select id = "select1" class = "hidden">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select id = "select2" class = "hidden">
<option>A</option>
<option>B</option>
<option>C</option>
</select>

Javascript:

$(document).ready(function(){
    $('#myTable tbody').append(generate());
});

function generate()
{
  var $row = $('<tr>');

    var selects = [$('#select1'),
                   null,
                   $('#select2')];

    for( var i in selects )
    {
        var $td = $('<td></td>');

        if( selects[i] != null )
        {
            var $select = selects[i].clone().show().removeAttr("id");

            $select.find('option:first').before($('<option>'));
            $select.val("");
            $td.append($select);
        }

        $row.append($td);
    }

    return $row;
}

123
1.
2.
3.
A.
B
C
Javascript:
$(文档).ready(函数(){
$('#myTable tbody').append(generate());
});
函数生成()
{
变量$row=$('');
var selects=[$('#select1'),
无效的
$('#选择2');
for(选择中的变量i)
{
var$td=$('');
如果(选择[i]!=null)
{
var$select=selects[i].clone().show().removeAttr(“id”);
$select.find('option:first')。在($('')之前;
$select.val(“”);
$td.append($select);
}
$row.append($td);
}
返回$row;
}

我刚试过你的代码。在IE中,尽管调用了show(),但“隐藏”css类(display:none)中设置的display属性似乎没有被覆盖。删除克隆的select元素的css类或显式地将“display”属性设置为“block”/“inline”都有效:

$select.removeClass('hidden');
(或)


你想用这个达到什么目标?
$select.css({display:'block'});