2009-05-28 39 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完成之前。

相關問題