0
var popupType1 = "<div id=\"layerpopuplock\" style=\"position:absolute; width:375px; height:170px; z-index:2; left: 2px; top: 50px; visibility: hidden; \">";
    popupType1 += "<table width=\"375\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#FF0000\">";
    popupType1 += "<tr><td align=\"center\" bordercolor=\"#FFFFFF\" class=\"FacetBiggerFieldCaptionTD\" id=\"popupmessagelock\" nowrap>message</td></tr>";
    popupType1 += "</table></div>";

$(popupType1).appendTo($('body'));

このコードは機能しません。

$('body')のconsole.logを試しましたが、空になっていますが、もちろんhtmlはすでにここにあり、bodyは存在します。

$('body')が空である理由はどれですか?


解決:

時間を無駄にしてすみません。私の仮定は間違っていました:htmlはすでにここにあります

私はこのように修正しました、そして今それは行きます、すみません!!!!

$(function() {
    ... previous code ...
});
4

4 に答える 4

8

最後の2つを交換してください

popupType1 = ...

popupType1 += ...

意味のあるHTML文字列を作成します。

visibility: hidden;スタイルにを含まない方が結果を確認しやすいことにも注意してくださいdiv

デモンストレーション

于 2012-11-14T15:54:25.690 に答える
7

+=あなたは今すべてをする必要がありますそれは追加するだけです</table></div>

于 2012-11-14T15:54:57.300 に答える
3

注意すべき点が3つあります。

  1. +=文字列を..と連結(結合)します。var longstr = str; longstr += str2;
  2. .appendTo()オブジェクト参照の代わりにセレクターを使用する場合..。$(..).appendTo('body');
  3. jQuery.ready( ... );コードをトリガーするようなDOM対応ハンドラーを使用していますか?このハンドラーにより、スクリプトの使用中にすべてのDOMノードの準備が整い、適切な場所に挿入されます(他のノードが邪魔になることはなく、本体ノードが存在する場合でも)jQuery API:.ready()

2に加えて:あなたも使用することができます$('body').append(popupType1);

3に加えて、スクリプトを呼び出す場所によって異なる場合があります。たとえば、本文内のスクリプトタグは、奇妙な追加要素として動作する場合があります。

于 2012-11-14T16:10:48.630 に答える
1
popupType1 += "<tr><td align=\"center\" bordercolor=\"#FFFFFF\" class=\"FacetBiggerFieldCaptionTD\" id=\"popupmessagelock\" nowrap>message</td></tr>";
popupType1 += "</table></div>";

最後の2つのpopupType1割り当てから+=が欠落しています。

于 2012-11-14T15:55:50.833 に答える