Javascript 使用jQuery在$each内获取输入的值

Javascript 使用jQuery在$each内获取输入的值,javascript,jquery,Javascript,Jquery,我有一个$each,可以很好地收集jQuery包装的输入集。我想遍历它们并得到它们的值。当我使用console log$(this)时,它会正确地显示所选的输入,但会将.val()放在未定义的后面。帮忙 var currentMACBindings = $("div[class*='mac-row-']"); $.each( currentMACBindings, function( key, value ) { console.log(

我有一个$each,可以很好地收集jQuery包装的输入集。我想遍历它们并得到它们的值。当我使用console log$(this)时,它会正确地显示所选的输入,但会将.val()放在未定义的后面。帮忙

        var currentMACBindings = $("div[class*='mac-row-']");

        $.each( currentMACBindings, function( key, value ) {
            console.log("key is ", key);
            console.log("value is ", $(this));        // this works
            console.log("value is ", $(this).val());  // this no workie
        });

假设您的div具有value属性:

    $("div[class*='mac-row-']").each(function( idx, element ) {
        console.log("key is ", idx);
        console.log("value is ", $(element).attr('value') );
    });
否则,如果是输入:

    var currentMACBindings = $("input").each(function( idx, element ) {
        console.log("index is ", idx);
        console.log("value is ", $(element).val() ); 
    });

假设您的div具有value属性:

    $("div[class*='mac-row-']").each(function( idx, element ) {
        console.log("key is ", idx);
        console.log("value is ", $(element).attr('value') );
    });
否则,如果是输入:

    var currentMACBindings = $("input").each(function( idx, element ) {
        console.log("index is ", idx);
        console.log("value is ", $(element).val() ); 
    });

因为您正在选择Div。Div没有
val()
方法
val()
方法用于获取文本框、复选框等输入字段的值。。 您应该找到所选div中的输入,然后调用
val()

这应该行得通

 var currentMACBindings = $("div[class*='mac-row-']").find("input");
 $.each( currentMACBindings, function( key, value ) {

      console.log("value is ", $(this).val());  
 });
这是一个工作样本

如果您试图获取DIV/SUN等非输入字段的内容,则应考虑<代码>文本()/代码>或<代码> HTML*()/Case>方法。小心。这些方法还提供嵌套child的内容。所以要小心使用

或者如果你想得到div的其他属性,你可以考虑使用<代码>()/<代码>方法。

 var currentMACBindings = $("div[class*='mac-row-']");
 $.each( currentMACBindings, function( key, value ) {

      console.log("id of div is ", $(this).attr("id"));  
 });

因为您正在选择Div。Div没有
val()
方法
val()
方法用于获取文本框、复选框等输入字段的值。。 您应该找到所选div中的输入,然后调用
val()

这应该行得通

 var currentMACBindings = $("div[class*='mac-row-']").find("input");
 $.each( currentMACBindings, function( key, value ) {

      console.log("value is ", $(this).val());  
 });
这是一个工作样本

如果您试图获取DIV/SUN等非输入字段的内容,则应考虑<代码>文本()/代码>或<代码> HTML*()/Case>方法。小心。这些方法还提供嵌套child的内容。所以要小心使用

或者如果你想得到div的其他属性,你可以考虑使用<代码>()/<代码>方法。

 var currentMACBindings = $("div[class*='mac-row-']");
 $.each( currentMACBindings, function( key, value ) {

      console.log("id of div is ", $(this).attr("id"));  
 });

另外,在问题中加入
html
,以更好地理解问题。如何执行此代码?
s没有
值。你可能想要代替哦是的,我想选择ID。谢谢!!对不起,那么你应该使用
.attr('id')
@Sergio,为什么要使用id?还可以在你的问题中加入你的
html
,以便更好地理解这个问题。如何执行此代码?
s没有
值。你可能想要代替哦是的,我想选择ID。谢谢!!Sorry那么您应该使用
.attr('id')
@Sergio,为什么要使用id?请参阅:
$。each()
函数与
$(选择器)不同。each()
,用于以独占方式在jQuery对象上迭代。请参阅:
$。each()
函数与
$(选择器)不同。each()
,用于迭代,独占地,在jQuery对象上。