javascript - IE8不克隆元素

标签 javascript jquery html css

IE 让我很困惑。我有两个 list 。一个容器。

第一个列表填充 <option>的分支机构。母枝。

第二个列表目前为空。

容器是<div>然后填充 <option>所有母分支的所有子分支。其中有很多。但这个容器是隐藏的。

我编写了 jQuery 代码,用于选择作为所选母分支的子级的匹配元素集,并将它们克隆到子分支列表中。

检查这个 fiddle 以查看它的实际情况:http://jsfiddle.net/mostafatalebi/6WQ9x/

这是 JavaScript 代码:

$(document).ready(function(){
    $('#branches').on('change', function(){
        var branch = $(this).val();
        var subholder = $('#subbranch-holder');             
        // $('#sub').empty();                                           
        $('#sub').html("<option value='false'>انتخاب زیر شاخه ها</option>");
        // console.log(subholder.children('option').length);
        subholder.children('option').each(function(){
            if($(this).attr('id') == 'par'+branch) {                            
                var tempItem = $(this);
                // $("#sub").append('this is : ');
                $(this).clone().appendTo("#sub");
            }
        });
    });
});

它适用于除 IE 之外的所有地方。

有趣的一点是,当我输入以下行而不是 clone() 时,IE工作原理:

$("#sub").append('IE is the worst browser');

IE 似乎有问题 $(this)clone()

旧版本的 jQuery 已经过测试。所有人都有同样的问题。

最佳答案

我已经找到了这个问题的答案。

看来<option>行为与其他完全不同。

我所做的是,我使用了 <input> tag代替tag,用子分支的ID填充“value”属性,用子分支的parent_id填充“id”属性,前面加上“par”字符串,最后用“name”属性填充它带有子分支的标题。相应地,我在 jQuery 中检索了它们并且它起作用了。

所有这些努力都是为了适应使用非常有限的IE8,但客户仍然坚持。

关于javascript - IE8不克隆元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724499/

相关文章:

javascript - 如何删除字符串中的一系列索引位置?

javascript - 我想更改页面背景颜色,但它在 Chrome 中无法按我的预期工作

javascript - 在 html css 中锁定表单后更改边框

javascript - 更改 'src' 属性后图像未刷新

javascript - 如何从场景中删除对象

javascript - MxCodec 解码功能不适用于 XML

javascript - 使用 form.js 插件通过按钮提交表单

javascript - 将选项放在下拉框中

javascript - 如果兄弟 div 中多于 n 行,则隐藏显示更多/更少 div

javascript - 使用 MixItUp 在一个网格中进行多种排序