2012-08-09 63 views
0

我想知道是否有人可以向我解释jQuery .add()是如何工作的,因为我正在阅读jQuery页面并试图理解它,并且对我没有任何意义,不明白它的效用。可以说,我想HTML代码添加到我的所有div,把这个.add()说明

$('div').append('<p id="new">new paragraph</p>'); 

使得工作,但把

$('div').add('<p id="new">new paragraph</p>'); 

没有。在jQuery页面http://api.jquery.com/add/我们可以阅读;

尽管新段落已经创建并且其背景颜色发生了变化,但它仍然没有出现在页面上。要将其放置在页面上,我们可以将其中一种插入方法添加到链中。

我不明白为什么然后用add而不是append或其他工作方法。 感谢您的时间和帮助。

编辑

$('div#dest').add('p.foo').append('<p id="new">PeNAROL</p>'); 

让我明白了,谢谢devundef和JamWaffles

回答

2

add()不修改DOM,它是用来2个匹配查询组合:

var queryA = $("a") 
var queryB = $("button"); 

var buttonsAndLinks = queryA.add(queryB); 

append()用于附加元素到DOM。

1

这是正确的,在the description

描述:添加元素到匹配的元素。

.append().add()完全不同的事情。

.add()不会向DOM添加元素,它会向前一个选择器已匹配的元素集添加一个或多个元素。

例如:

$('a.class').add('p.foo'); 

将返回一组含有任何<a class="class"><p class="foo">元素的元素。

+0

很清楚,我希望能够把你的答案也作为接受的答案,因为我得到的两个解释都很好,谢谢 – 2012-08-09 10:08:58