通过在函数中传递变量来选择元素 - jQuery

时间:2015-11-12 08:32:52

标签: javascript jquery

我正在尝试选择某个元素中的所有输入字段。我把这个元素传递给了一个函数,但是我不知道怎么去那里:

$('._save, .btn-success').click(function(){
   saveForm($('.dashboard_container'));
});

//This functions has to select all the input fields inside the given element
function saveForm(that) {
    var input = $(that, 'input'); //This does not seem to work
    input.each(function(){
       //Do something
    })
}

如何将变量和选择器链接在一起?

2 个答案:

答案 0 :(得分:2)

上下文选择器将参数反过来与您使用的内容相对应:

function saveForm($that) {
    var $input = $('input', $that);
    $input.each(function(){
       //Do something
    })
}

当您传入jQuery对象时,也可以使用find()方法:

var $input = $that.find('input');

答案 1 :(得分:0)

如果您需要找到某个元素input中的所有x字段,那么您可以使用.find(input)

例如:

//This functions has to select all the input fields inside the given element
function saveForm(that) {
    var input = $(that).find("input"); //This does not seem to work
    input.each(function(){
       //Do something
    })
}

您也可以在不使用.find的情况下实现它(您尝试的方式)

$('._save, .btn-success').click(function(){
   saveForm('.dashboard_container');
});

//This functions has to select all the input fields inside the given element
function saveForm(that) {
    var input = $(that + ' input'); //This does not seem to work
    input.each(function(){
       //Do something
    })
}