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. 您是否使用 DOM-Ready 处理程序jQuery.ready( ... );来触发您的代码?此处理程序确保在使用您的脚本时所有 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>";

You are missing the += from your last two popupType1 assignments.

于 2012-11-14T15:55:50.833 回答