在jQuery中定位动态元素

时间:2016-03-17 08:37:07

标签: javascript jquery html css

我有一个选择菜单,它是在javascript文件中动态创建的。我已将css设置为display:none,以便样式可以在加载之前以静默方式进行。但是,我无法定位它以使其再次显示。一旦它附加到DOM,它的目标是什么(或任何动态创建的选择菜单)是什么傻瓜?感谢您的任何见解。

加载选择菜单的初始代码:

createDropdown:function(oLetter){
    var dropDwn = create({type:"select",id:"glossaryWordDropdown", className:"glossarySelect"});

    for(var i=0;i<oLetter.arWords.length;i++){
        var oWord = oLetter.arWords[i];
        $('<option />', {value: oWord.id, text: oWord.id}).appendTo(dropDwn);
    }
    $(dropDwn).on('change', this.onDropDown.bind(this));

    //add to the wordHolder box
    var wordHolderElement = this._screen.getElementById("wordHolder");
    wordHolderElement._container.innerHTML = "";
    $(wordHolderElement._container).append(dropDwn);
},

CSS:

.glossarySelect {display: none};

JQ:

$( window ).load(function() {
    $(".glossarySelect").css("display", "block");
});

自定义插件,使选择框样式可编辑(customSelectMenu):

$(".glossarySelect").customSelectMenu({
    menuClass: 'product-select',
    openedClass: 'shown',
    selectedClass: 'active',
    selectionMadeClass: 'selected'
});

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试将您的脚本放入doc ready侦听器

$(document).ready(function() {
 $("select").show();
});

或尝试使用此类内容以确保您可以访问元素 https://stackoverflow.com/a/29514359/1845664