$(“>”,这个)[1]是什么意思?

时间:2014-08-22 21:04:59

标签: javascript jquery

在一个JS源代码中,我找到了这个结构:

$(function(){
    $("form").submit(function(event){
        var textInputs=$(">input[type='text']", $(">", this)[1]);
        for(var i=0; i<textInputs.length; i++){

我完全理解那里发生了什么,但我不清楚这一行:

var textInputs=$(">input[type='text']", $(">", this)[1]);

3 个答案:

答案 0 :(得分:2)

代码使用$(selector, context)$(">", this)选择this对象的子项,[1]将第二个子项作为原始DOM元素返回。然后,它将返回的值(也可以是undefined 值)传递给另一个$(selector, context)作为选择input[type=text]子项的上下文。

对我而言,代码是不可读和可维护的。它(某种程度上)相当于:

$(function() {
    $("form").submit(function(event) {
        $(this).children(":eq(1)")
               .children('input[type="text"]')
               .each(function(index, element) {
                   // ...
               });
    // ...

答案 1 :(得分:0)

看起来像jquery,它就是

$('dom elements to look for', 'dom context element')

参考:http://api.jquery.com/jQuery/

答案 2 :(得分:0)

第一个参数是选择器,第二个参数是上下文

$('selector', 'context');

在这种情况下,选择器受到限制,只会匹配上下文的后代。

这相当于find方法:

$('context').find('selector');

两者都会得到相同的结果。