2011-09-27 115 views
-1

我有一個簡單的問題。我的大腦是油炸,我想不出:(問題jQuery添加()問題

爲什麼下面的代碼是不添加標籤MyDivClass:

$("div.MyDivClass").add("<a href='' id='test'><span></span></a>"); 
$("div.MyDivClass a#test").attr("href","www.test.com"); 
$("div.MyDivClass a#test span").html("text1"); 
+0

我通過改變添加附加解決了這個問題。 使用add()有什麼問題?我只需要指定「a」而不是整個標籤? – Blueboye

+1

請參閱:http://api.jquery.com/add/它說:「以下內容不會保存添加的元素,因爲.add()方法創建一個新集並將原始集保留在pdiv中」 – m90

回答

2

add()方法只將匹配的元素添加到當前的jQuery對象。它不會向DOM添加新元素。

使用append()代替:

$("div.MyDivClass").append("<a href='' id='test'><span></span></a>"); 
0

我覺得.add只適用於像

$("div.MyDivClass").add('a'); 

嘗試標籤.html改爲

$("div.MyDivClass").html("<a href='' id='test'><span></span></a>"); 
+0

是的,使用html()將刪除該div中的其他元素。 – Blueboye

+0

好的...所以只是保留它;) 'var d = $(「div.MyDivClass」); d.html(d.html()+「」);' – PiTheNumber

0

add method增加了一個元素到包含在jQuery對象中的元素集。

它實際上並沒有修改DOM。

例如:

var links = $('a'); 
var linksAndBolds = links.add($('b')); 

linksAndBolds.css("color", "pink"); 

要附加到一個jQuery onject內的DOM樹的元素,調用append