jQuery对象作为元素
jQuery objects as elements
我在一些高级jQuery:中看到了这种语法
$container
如:
$input = $container.find('.fn_this_timeline')
编辑:基于下面的一些评论,只是为了澄清我所看到的"$container"的第一个实例是在一开始就创建的:
init: function($container){
var myThing = this,
$input = $container.find('.fn_do_some_calc'),
$submit = $container.find('.fn_do_some_other_calc'),
defaultValue = parseInt($input.val(), 10);
myThing.$container = $container;
上面这句话更让我困惑:/
我习惯于使用这样的jQuery选择器:$('#mySelector').method('etc');
有人能告诉我区别是什么,什么时候使用"速记"风格合适或适用吗?
这不是什么简写,这只是Javascript变量的使用。例如,$container
变量可能是这样声明的:
var $container = $("#container");
因为它是存储的,所以元素(jQuery对象)是"缓存的",并且可以重用,而不需要jQuery退出并重新遍历DOM来再次找到它(因为每次使用$("select")
时都必须这样做)。
在变量名的开头使用$
有时有助于开发人员记住它包含一个jQuery对象,而不是Javascript元素(就像从document.getElementById("container");
.返回的一样
根据问题的init
方法的位置,行myThing.$container = $container;
只是将对象的属性"$container"设置为$container
变量的值。所以对象可能是这样的:
var myObject = {
init: function () {
// blah blah blah
},
$container: undefined
};
在运行init
方法之后,它会将"$container"属性设置为某个值。
这只是为了表明,$container
变量已经是一个包装的jQuery对象,而不是一个本地DOM节点。
例如,你可以写:
var container = document.getElementById('item');
var $container = jQuery(container); // or:
var $container = jQuery('#item');
明白了吗?
基本上,是的,它是简写。
对于您注意到的功能:
init: function($container){
var myThing = this,
$input = $container.find('.fn_do_some_calc'),
$submit = $container.find('.fn_do_some_other_calc'),
defaultValue = parseInt($input.val(), 10);
$包含在内,因此您可以将jQuery对象传递到函数中。所以当你称之为时,你可以做这样的事情:
init($('#theid'));
到下面的行:
myThing.$container = $container;
这只是将jQuery对象存储为myThing对象的一部分。另一个注意事项是,你可以做一些类似$var = 1
的事情,这将是完全有效的。然而,它通常是作为存储jQuery对象的提醒。
使用jQuery没有快捷方式。
在jQuery中声明变量是标准方法。
即$container=$("#container");
$container是一个jquery对象。
理解:$表示它是jquery对象,所以在适当的时候对它应用操作。
- 如何查找流星集合中最后一个元素/对象的id
- 如何在JSXGraph中传递元素对象而不是id
- 手动呈现原型JS元素对象
- 为什么jQuery's每个循环的函数都保存对元素对象的引用
- 通过 html 图像元素对象显示图像
- 在 Plain/Pure Javascript 中,你如何找出元素对象具有哪些可用的方法或属性
- 如何在Angualar的jqLite元素对象中按id查找元素
- XPath 元素/对象在使用 document.evaluate 时未定义
- 如何使用JQuery获取元素对象
- 使用jQuery元素对象作为数组键
- 传递元素对象
- Mootools元素>对象# & lt; HTMLDivElement>没有方法'addEvent'
- 迭代所有节点对象,而不仅仅是元素对象
- 当一个元素被点击时,另一个元素(对象)发送给函数
- 正在分配属性'由getElementById()在语句中返回的HTML元素对象的s
- 创建一个新的用户界面元素对象的Javascript原型
- 在javascript中继承了DOM元素对象!这段代码有什么问题?
- AppendChild不工作!,从DOM元素对象继承.我做错了什么?
- 有没有办法“得到”?就像getElementById()能够获取html元素对象一样,使用函数来获取javascript
- 如何返回javascript DOM元素对象,并从调用者appendChild(obj)它