jQuery:append 和 appendTo 在firefox和ie中的区别

时间:2021-09-04 09:07:15

在jquery 1.2 API中解释如下:

引用 appendTo(content)
所有匹配的元素追加到另一个、指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。

 

引用 append(content)
向每个匹配的元素内部追加内容。
这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似。



看似两个可以等同的操作,实际上在firefox和ie中是有差别的。
append(content)

Html代码 jQuery:append 和 appendTo 在firefox和ie中的区别
  1. html:   
  2. <p>I would like to say: </p>  
  3. juery:   
  4. $("p").append("<b>Hello</b>");   
  5. 结果:   
  6. <p>I would like to say: <b>Hello</b></p> ]   


appendTo(content)

Html代码 jQuery:append 和 appendTo 在firefox和ie中的区别
  1. html:   
  2. <p>I would like to say: </p><div id="foo"></div>  
  3. juery:   
  4. $("p").appendTo("#foo");    
  5. 结果:   
  6. <div id="foo"><p>I would like to say: </p></div>  



换句话说 :
$("p").append("任意字符串");

$("任意字符串").appendTo("p");
这两个操作是否等同呢?

结论是在ie下是等同的,而在firefox下,$("任意字符串").appendTo("p")这句是会报错的。
原因可能是在firefox下$("任意字符串")不能作为匹配对象,如其文档中说明的那样appendTo(content)
所有匹配的元素追加到另一个、指定的元素元素集合中。

欢迎指正!