0

我尝试查看标题几乎相同的这篇文章,但尽管尝试了看起来合适的答案,但我的代码仍然无法正常工作。

我正在像这样在 dom 之外创建一个元素:

var e = $('<div class="alert"><div class="messageBox"><h1>'+type+'</h1><p class="message">'+message+'</p></div></div>');

在下一行,我试图操纵它。

$('.alert',e).width($(window).width()).height($(window).height());

如您所见,我尝试为选择器定义上下文(我在另一篇文章中看到的建议),但它不起作用。有人可以向我指出我做错了什么吗?

4

2 回答 2

2

.alertdiv 已经在您的变量 DOM 内容的根目录中e,因此无需使用上下文参数(这将导致在您的div 中查找.alert另一个.alertdiv,它不会找到任何东西)所以只需这样做:

e.width($(window).width()).height($(window).height());

如果您要为您的 div 分配一些属性.messageBox,那么可以像您一样使用 context 参数:

 //this will work as .messageBox is inside your root element(.alert)
 $('.messageBox',e).width(...);
于 2012-11-10T00:56:32.340 回答
0

$('.alert',e)相当于e.find('.alert')which 什么都不返回,因为eis.alert

只需使用:

e.width($(window).width()).height($(window).height());
于 2012-11-10T00:57:02.677 回答