[英]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>
我看到三點要注意:
+=
...組合字符串(組合) var longstr = str; longstr += str2;
var longstr = str; longstr += str2;
.appendTo()
使用選擇器代替對象引用... $(..).appendTo('body');
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.