jQuery:append 和 appendTo 在firefox和ie中的区别
在jquery 1.2 API中解释如下:
引用
appendTo(content)
把所有匹配的元素追加到另一个、指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。
把所有匹配的元素追加到另一个、指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。
引用
append(content)
向每个匹配的元素内部追加内容。
这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似。
向每个匹配的元素内部追加内容。
这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似。
看似两个可以等同的操作,实际上在firefox和ie中是有差别的。
append(content)
- html:
- <p>I would like to say: </p>
- juery:
- $("p").append("<b>Hello</b>");
- 结果:
- [ <p>I would like to say: <b>Hello</b></p> ]
appendTo(content)
- html:
- <p>I would like to say: </p><div id="foo"></div>
- juery:
- $("p").appendTo("#foo");
- 结果:
- <div id="foo"><p>I would like to say: </p></div>
换句话说 :
$("p").append("任意字符串");
和
$("任意字符串").appendTo("p");
这两个操作是否等同呢?
结论是在ie下是等同的,而在firefox下,$("任意字符串").appendTo("p")这句是会报错的。
原因可能是在firefox下$("任意字符串")不能作为匹配对象,如其文档中说明的那样appendTo(content)
把所有匹配的元素追加到另一个、指定的元素元素集合中。