Javascript 为什么';t addTextObject()和jQuery变量work?

Javascript 为什么';t addTextObject()和jQuery变量work?,javascript,jquery,windows-desktop-gadgets,Javascript,Jquery,Windows Desktop Gadgets,在开发Windows Vista/7小工具并使用()输出文本时,以下操作有效: var mytext = "Hello"; document.getElementById("background").addTextObject(mytext , "Verdana", 11, "white", 10, 10); 但我无法将此jQuery选择器放入变量中工作: var mytext = $("#myid").text(); document.getElementById("background")

在开发Windows Vista/7小工具并使用()输出文本时,以下操作有效:

var mytext = "Hello";
document.getElementById("background").addTextObject(mytext , "Verdana", 11, "white", 10, 10);
但我无法将此jQuery选择器放入变量中工作:

var mytext = $("#myid").text();
document.getElementById("background").addTextObject(mytext , "Verdana", 11, "white", 10, 10);
它不工作,它只写一个空字符串。 为什么?

我找到了原因。 my div中的内容是使用jQuery动态添加的

<div id="myid"></div>

$("#myid").append("somedata"); 
var mytext = $("#myid").text();
System.Debug.outputString(mytext); // Empty

$(“#myid”).append(“somedata”);
var mytext=$(“#myid”).text();
System.Debug.outputString(mytext);//空的
出于某种原因,这在小工具中不起作用。 它在一个普通的HTML文件中工作

静态内容在小工具中不起作用:

<div id="myid">somedata</div>

var mytext = $("#myid").text();
System.Debug.outputString(mytext); // Ok
somedata
var mytext=$(“#myid”).text();
System.Debug.outputString(mytext);//好啊
有人能解释一下我如何在侧边栏中查询动态添加的内容吗? 更新: 解决了我的问题。

试试看


可能您的代码在DOM完成之前运行。

我曾经遇到过这样的情况,为了让浏览器能够工作,我不得不放弃控制权。为此,我将代码放入一个由setTimeout()调用的函数中。我找到了一个解决方法,请参见此处:

$(document).ready(function() {
    $("#myid").append("somedata"); 
    var mytext = $("#myid").text();
    System.Debug.outputString(mytext);
});