Javascript Can';似乎找不到要追加的元素

Javascript Can';似乎找不到要追加的元素,javascript,jquery,dom,Javascript,Jquery,Dom,嗨,我有一个id为“quote area”的选择框,我想为它动态创建选项 它适用于使用jQuery mobile和HTML5的移动应用程序 我有一个本地保存的区域表,我将它们拉出并放入for循环中,构建一个html字符串,然后将其附加到选择框中 这是我的JS: function(tx, results) { len = results.rows.length; var markup =

嗨,我有一个id为“quote area”的选择框,我想为它动态创建选项

它适用于使用jQuery mobile和HTML5的移动应用程序

我有一个本地保存的区域表,我将它们拉出并放入for循环中,构建一个html字符串,然后将其附加到选择框中

这是我的JS:

               function(tx, results) {
                    len = results.rows.length;

                    var markup = [];

                    for(var i=0; i< len; i++){

                        var area_id= results.rows.item(i).area_id;
                        var label = results.rows.item(i).label;

                        markup.push("<option value='"+area_id+"'>");
                        markup.push(label);
                        markup.push("</option>");
                    }
                    alert(markup.join(""));
                    $('#quote-area').append(markup.join(""));
                }
                );
功能(发送、结果){
len=results.rows.length;
var标记=[];
对于(变量i=0;i
HTML:


我的警报将运行,我可以看到标记已正确构造。但是我的选择框没有发生任何变化。我让tripple检查了ID

我想知道这是否是因为先加载js文件,然后将随后的每个html页面Ajax放入DOM(jQuery移动功能)。那么当下载javascipt时,选择框还不存在

有人能帮我吗?我需要使用一些现场活动吗

更新:

我也尝试过使用live query插件,因为我几乎肯定它,因为加载脚本时列表不是DOM的一部分。但还是没有运气

 $('#quote-area').livequery(function(){
     $(this).append($("<option></option>").attr("value",area_id).text(label));
 });
$(“#报价区”).livequery(函数(){
$(this).append($(“”)attr(“value”,area_id).text(label));
});
您试过了吗

$(document).ready(function() { whatever(); });
这将使代码在加载页面后运行

您试过了吗

$(document).ready(function() { whatever(); });

这将使代码在加载页面后运行

如果通过ajax请求将目标选择框放置在页面上,则应在ajax onsuccess事件中执行代码。文档就绪事件在加载“静态”页面时触发,而不是在处理所有ajax请求时触发。

如果通过ajax请求将目标选择框放置在页面上,则应在ajax onsuccess事件中执行代码。文档就绪事件在加载“静态”页面时触发,而不是在处理所有ajax请求时触发。

使用JQM时,您需要根据以下内容将其提交给页面事件:

重要提示:使用$(document.bind('pageinit'),而不是$(document.ready())

在jQuery中学习的第一件事是调用$(document).ready()函数中的代码,以便在加载DOM后立即执行所有操作。但是,在jquerymobile中,Ajax用于在导航时将每个页面的内容加载到DOM中,而DOM就绪处理程序只对第一个页面执行。要在加载和创建新页面时执行代码,可以绑定到pageinit事件。本页底部详细解释了此事件


链接此处:http://jquerymobile.com/demos/1.2.0/docs/api/events.html

使用JQM,您需要根据以下内容将其提交至页面事件:

重要提示:使用$(document.bind('pageinit'),而不是$(document.ready())

在jQuery中学习的第一件事是调用$(document).ready()函数中的代码,以便在加载DOM后立即执行所有操作。但是,在jquerymobile中,Ajax用于在导航时将每个页面的内容加载到DOM中,而DOM就绪处理程序只对第一个页面执行。要在加载和创建新页面时执行代码,可以绑定到pageinit事件。本页底部详细解释了此事件


链接此处:http://jquerymobile.com/demos/1.2.0/docs/api/events.html

jQuery Mobile上是否有DOM就绪事件?如果是,你正在使用它吗?这将解决DOM中还没有选择框的问题。我建议您查看这个问题的答案:jQuery Mobile上是否有DOM就绪事件?如果是,你正在使用它吗?这将解决DOM中还没有选择框的问题。我建议您查看这个问题的答案:是的,我在docready中调用我的函数。然而,scipt被加载,随后的页面通过ajax被拉入,所以我不确定每个新页面上是否都有doc ready是的,我在doc ready中调用了我的函数。然而,scipt被加载,随后的页面通过ajax被拉入,所以我不确定每个新页面上是否都有准备好的文档