我为Sizzle尝试(不使用jQuery)进行DOM选择。我将Sizzle选择与本机JS混合以构建一些动画功能。我在Sizzle对象上执行DOM方法时遇到错误。例如:
Sizzle('#masthead-copy').appendChild(foo);
结果:Object has no method 'appendChild'
。但是以下工作:
document.getElementById('masthead-copy').appendChild(foo);
同样的方法也是如此:
Sizzle('#masthead-images').getElementsByTagName('foo');
但是以下工作:
document.getElementById('masthead-images').getElementsByTagName('foo');
似乎Sizzle在所有选择中返回一个数组(甚至在ids上),这可以解释这里的问题。有没有一个共同的解决方法呢?
答案 0 :(得分:3)
如评论所示,Sizzle会在所有选择中返回一个数组,因此选择带有Sizzle的ID需要引用结果数组中的第一个(唯一)项:
Sizzle('#masthead-copy')[0].appendChild(foo);