喜欢
$(":input")
如果有多个输入,如何返回每个对象?也许在某些数组?
此外,是否可以在使用$(":input").after(x)
?
答案 0 :(得分:8)
$('input').each(function () {
$(this); // A Single Input
})
或者
$('input')[0]; // HTMLElement Input
或者,jQuery's .get:
支持的不仅仅是[...],例如.get(-1)返回最后一个 元素(可能有用) - pimvdb
如何获得长度:$('input').length
答案 1 :(得分:1)
$('input')
将选择所有输入
如果你想对他们做点什么......
$('input').each(function(){
$(this).css('background','red')
})
答案 2 :(得分:1)
jQuery工厂函数jQuery(...selector...)
或$(...selector...)
返回一个jQuery.init
对象,它本质上是一个奇特的元素数组。
each
function是一种在迭代整个元素选择时继续链接函数调用的简单方法。
.each()
方法旨在使DOM循环结构简洁且不易出错。调用时,它会迭代属于jQuery对象的DOM元素。每次回调运行时,都会从0开始传递当前循环迭代。更重要的是,回调是在当前DOM元素的上下文中触发的,因此关键字this指的是元素。
函数参数有两个参数function( index, element )
,您可以使用i
代替index
,因为它具有相同的基本效果。 this
也将引用element
,因此第二个参数在很大程度上是不必要的,除非您计划在保留对元素的引用的同时在内部范围内执行函数。
var vals=[];
$('input').each(function(index,element){
var $this, val;
$this = $(this);
val = $this.val();
vals.push(val);
...do more stuff...
});
console.log( vals );
答案 3 :(得分:1)
$(":input") // Returns a collection of DOM elements at 0-based indices wrapped
// in an object that contains jQuery methods
$(":input").length // Is used to discover the quantity of elements matched.
$(":input").after('something') // Implicitly applies .after() to each element.
// Most jQuery methods work this way.
$(":input").each(function() { // Lets you operate on each element individually.
alert( this.nodeName ); // "this" will reference the current element.
});
“此外,是否可以在使用$(”:input“)时返回单个对象。在(x)之后”
如果您的意思是想要由.after()
创建的结果元素的集合,那么它将取决于x
是什么。
如果它是单个元素(不是文本节点),请执行以下操作:
var new_elems = $(":input").after(x).next();
这会在每个input
之后放置新元素,然后使用next()
[docs]方法遍历每个input
的下一个元素兄弟,这应该是插入的新元素。