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')为空的原因?
SOLUTION:
抱歉浪费你的时间。 我的假设是错误的: html已经在这里
我以这种方式纠正了,现在它已经过去了,悲伤!!!!
$(function() {
... previous code ...
});
答案 0 :(得分:8)
替换你的最后一个
popupType1 = ...
通过
popupType1 += ...
要有一个有意义的HTML字符串。
另请注意,如果visibility: hidden;
样式中没有div
,则会更容易看到结果。
<强> Demonstration 强>
答案 1 :(得分:7)
您现在需要+=
,它只会附加</table></div>
答案 2 :(得分:3)
我看到3点需要注意:
+=
... var longstr = str; longstr += str2;
.appendTo()
使用选择器而不是对象引用... $(..).appendTo('body');
jQuery.ready( ... );
这样的DOM-Ready处理程序来触发您的代码?这个处理程序可以确保所有DOM节点在使用你的脚本时都已准备就绪,它将被插入到正确的位置(即使是身体节点存在,也不会妨碍其他节点)jQuery API: .ready() 另外2:你也可以使用$('body').append(popupType1);
另外还有3:它可能取决于您调用脚本的位置 - 例如,正文中的脚本标记可能会出现奇怪的添加元素。
答案 3 :(得分:1)
popupType1 += "<tr><td align=\"center\" bordercolor=\"#FFFFFF\" class=\"FacetBiggerFieldCaptionTD\" id=\"popupmessagelock\" nowrap>message</td></tr>";
popupType1 += "</table></div>";
您在前两个popupType1分配中缺少+ =。