簡體   English   中英

jQuery的:appendTo($('body'))不起作用

[英]jQuery: appendTo($('body')) dosn't work

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')為空的原因?


解:

很抱歉浪費您的時間。 我的假設是錯誤的: html已經在這里

我以這種方式糾正了,現在很痛苦!!!

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

最后更換您的2

popupType1 = ...

通過

popupType1 += ...

具有有意義的HTML字符串。

還請注意,沒有visibility: hidden;結果會更容易visibility: hidden; div樣式中。

示范

您現在需要做+= ,它僅會添加</table></div>

我看到三點要注意:

  1. += ...組合字符串(組合) var longstr = str; longstr += str2; var longstr = str; longstr += str2;
  2. .appendTo()使用選擇器代替對象引用... $(..).appendTo('body');
  3. 您是否正在使用像jQuery.ready( ... );這樣的DOM Ready處理程序jQuery.ready( ... ); 觸發您的代碼? 此處理程序可確保在使用腳本時所有DOM節點均已准備就緒,並將其插入到正確的位置(不會出現其他節點,即使存在主體節點也不會妨礙它) jQuery API:.ready()

除了2:您還可以使用$('body').append(popupType1);

除3之外,它還取決於您在何處調用腳本-例如,主體內的腳本標簽可能表現為奇怪的添加元素。

popupType1 += "<tr><td align=\"center\" bordercolor=\"#FFFFFF\" class=\"FacetBiggerFieldCaptionTD\" id=\"popupmessagelock\" nowrap>message</td></tr>";
popupType1 += "</table></div>";

您在最后兩個popupType1分配中缺少+ =。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM