jquery在div中使用id和操作附加div

时间:2011-10-27 05:09:36

标签: jquery html

经过2个小时的搜索,我决定问我的问题。

我有一个div:

<div id="box"></div>

我想使用jquery在上面的div中添加一个div。

我试过(以下代码在函数内部):

var e = $('<div style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');
$('div', e).attr('id', 'myid');
$("#box").append(e);

但访问$(“#myid”)无效。

如何在div中添加div并能够操作它们?

谢谢你!

4 个答案:

答案 0 :(得分:33)

这只是错误的订单

var e = $('<div style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');
$('#box').append(e);    
e.attr('id', 'myid');

先添加,然后访问/设置attr。

答案 1 :(得分:4)

你的事情太复杂了:

var e = $('<div style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');
e.attr('id', 'myid');
$('#box').append(e);

例如:http://jsfiddle.net/ambiguous/Dm5J2/

答案 2 :(得分:4)

为什么不使用以下任何一个选项更简单:

$("#box").html('<div id="myid" style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');

或者,如果您想将其附加到现有内容:

$("#box").append('<div id="myid" style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');

注意:我将id="myid"权限放入HTML字符串中,而不是使用单独的代码进行设置。

.html().append() jQuery方法都可以使用HTML字符串,因此无需使用单独的步骤来创建对象。

答案 3 :(得分:0)

var e = $('<div style="display:block; id="myid" float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');
$("#box").html(e);