2009-05-28 42 views
0

在开发Windows Vista/7的小工具,并扑灭使用addTextObject()文本,这个工程:为什么addTextObject()与jQuery变量无关?

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); 

它不起作用,它只写一个空字符串。 为什么?

回答

0

我发现了原因。 我的div中的内容是使用jQuery动态添加的。

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

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

由于某种原因,这在小工具中不起作用。 它的工作在一个普通的HTML文件,但...

静态内容不要在小工具不好:

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

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

谁能解释我如何可以查询在侧边栏动态添加的内容? 更新: This解决了我的问题。

+0

为了让浏览器能够完成工作,我必须放弃控制权。为此,我将代码放入由setTimeout()调用的函数中。 – Nosredna 2009-05-28 23:12:08

0

尝试$(document).ready

 

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

也许你的代码运行在DOM完成之前。

相关问题