如何将原型div选择器作为对象

rog*_*ack 0 jquery prototypejs

我是原型/ jquery的菜鸟,当我尝试在chrome控制台中执行此操作时,在一个名为"contains_filter_select"的div页面上:

>> $("contains_filter_select" )
<div id=?"contains_filter_select">?…?</div>?
Run Code Online (Sandbox Code Playgroud)

但它似乎不是一个对象?

>> $("contains_filter_select").text("abc")
TypeError: Object #<HTMLDivElement> has no method 'text'

 $("#contains_filter_select")
 null
Run Code Online (Sandbox Code Playgroud)

我觉得我在这里错过了一些微不足道的事情,有人能指出我正确的方向吗?

T.J*_*der 5

你说:

>> $("contains_filter_select").text("abc")

TypeError: Object #<HTMLDivElement> has no method 'text'

这告诉我你根本不使用jQuery,而是使用其他库.有几个库使用$符号:jQuery,Prototype和MooTools(至少).Prototype和MooTools的工作方式,当你使用时$("contains_filter_select"),你将获得对实际div对象的引用; jQuery是不同的,使用jQuery你会找到一个匹配的元素集合的包装器(字符串将是一个CSS样式的选择器,#在元素ID之前,与Prototype和MooTools不同,它只是一个ID值).使用jQuery,即使你的选择器不起作用,你也不会得到你得到的错误.使用Prototype或MooTools,我很确定你会这样做,因为它们都没有text为元素添加方法.

所以答案是:我认为你根本不在该页面上使用jQuery.仔细检查脚本标记.(FWIW,如果您碰巧使用流行的在线工具jsFiddle,如果您不更改左侧的下拉菜单,则默认为MooTools.)

  • 这与错误不符.如果他根本没有jQuery就会说"$不是函数".这是选择器,这是一个问题. (2认同)