2013-04-22 49 views
1

是否可以创建一个带有类名称的div,然后引用该div而不给它一个ID?或者必须有一个生成的ID?此外,我创建一个div的原因是因为我试图为自己创建一个插件,可能会在每个位置重复此div,但是我只想引用该单个div。引用一个新的动态创建的div类

例如:

var newDiv = $("<div/>").addClass("newAdded"); 

$(parent).append(newDiv); 

$(newDiv).css("background","purple"); 

是类似的东西可能吗?我知道上面的代码不起作用,但希望这有助于说明我的想法。

+1

该代码确实工作 – Paulpro 2013-04-22 00:40:06

回答

1

的引用将被保留:

// Create a new div and maintain a reference to it 
var div = $("<div></div>").addClass("foo"); 

// Our div is a jQuery object 
div.appendTo(parent); 

// We still have a reference 
div.text("Text added after the appending has taken place"); 

小提琴:http://jsfiddle.net/jonathansampson/fwHAB/

+0

非常感谢队友! – Majo0od 2013-04-22 00:55:27

+0

@Majed我的荣幸。这是一个很好的问题 - 这些类型的东西有时会有点混乱。保持伟大的工作;) – Sampson 2013-04-22 01:01:39

+0

嗨Sampson,我正在重温这个,我意识到你使用了'.addClass()'函数,而不是仅仅将类添加到div中,是有原因的吗?谢谢! – Majo0od 2015-08-04 12:45:29

3

是的,这是可能的,那是正确的做法。

newDiv已经是一个jQuery对象,所以不$(newDiv),只是newDiv

newDiv.css("background","purple"); 
0

您还可以在append语句中引用新的div。

$(parent).append(newDiv).css("background","purple"); 
0

既然你添加新的类,你还可以通过类引用变量,如果你失去的是JavaScript变量的范围:

$('.newAdded').css("background","purple");