jQuery:从解析的html片段中选择元素

Ach*_*him 3 javascript

在类方法中,我解析一个像这样的html片段:

    this.editCtrl = $('<input type="radio" name="society" value="existing"><select class="society"></select></input><input type="radio" name="society" value="existing"><input type="text"></input></input>');
Run Code Online (Sandbox Code Playgroud)

我可以将这个片段添加到我的DOM中,一切正常,但在此之前我想填写下拉列表.我试着像这样:

    var dropdown = this.editCtrl.find('select.society');
Run Code Online (Sandbox Code Playgroud)

和这样:

    var dropdown = $('select.society', this.editCtrl);
Run Code Online (Sandbox Code Playgroud)

在两种情况下,结果集的长度均为零.从这样的html片段中获取某个元素的正确方法是什么?

med*_*iev 6

你可以filter在这种情况下使用:

$('<input type="radio" name="society" value="existing"><select class="society"></select></input><input type="radio" name="society" value="existing"><input type="text"></input></input>').filter(function() {
    return $(this).is('select.society')
})
Run Code Online (Sandbox Code Playgroud)

原因是如果你要使用find你需要从你的父元素<select>,否则你直接搜索元素而不是从它们上面.