【发布时间】:2010-12-08 15:59:50
【问题描述】:
我想选择最近创建的元素做这样的事情:
$("body").append("<div id='popup.dialog'></div>");
dialogDiv = $("#popup.dialog");
但是在执行这个 dialogDiv 之后什么都没有。 那么有没有办法选择新创建的元素?
【问题讨论】:
我想选择最近创建的元素做这样的事情:
$("body").append("<div id='popup.dialog'></div>");
dialogDiv = $("#popup.dialog");
但是在执行这个 dialogDiv 之后什么都没有。 那么有没有办法选择新创建的元素?
【问题讨论】:
我认为你的问题是 id 中的.。
原因是,jQuery 使用 . 来匹配类,所以您正在寻找一个 id = popup 和 class= dialog 的元素
【讨论】:
您的 id 中不能有 .。
试试这个:
$("body").append("<div id='popup-dialog'></div>");
dialogDiv = $("#popup-dialog");
【讨论】:
两件事:
1) 不要在您的 ID 中使用句点
2) 你可以这样做更好一点:
var dialogDiv =$('<div id="popup-dialog"></div>').appendTo('body');
此时您可以链接更多,或者只使用dialogDiv 变量。
这会阻止您通过选择您已经有权访问的元素来影响性能。
【讨论】:
ID 中的点无效。 #popup.dialog 搜索 <div id='popup' class='dialog'>。你应该用破折号替换它,比如
$("body").append("<div id='popup-dialog'></div>");
dialogDiv = $("#popup-dialog");
【讨论】: