0

Windows Vista/7 ガジェットを開発し、addTextObject () を使用してテキストを出力する場合、次のように動作します。

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

動作しません。空の文字列を書き込むだけです。なんで?

4

2 に答える 2

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

サイドバーに動的に追加されたコンテンツをクエリする方法を誰か説明できますか? 更新: これで問題が解決しました。

于 2009-05-28T22:07:47.830 に答える
0

$(document).ready を試す


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

DOM が完了する前にコードが実行されている可能性があります。

于 2009-05-28T23:06:48.740 に答える