首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jQuery手机中循环元素?

问如何在jQuery手机中循环元素?
EN

Stack Overflow用户
提问于 2013-03-15 16:08:20
回答 5查看 287关注 0票数 1

我有3个字段:

代码语言:javascript
复制
<input type="datetime" name="input-data" id="datetime-start">
<input type="datetime" name="input-data" id="datetime-end">
<input type="text" name="input-data" id="text-basic">

我需要检查是否有输入的东西,所以我首先像jQuery.each('[name="input-data"]', function()一样做了,并在循环中使用了this,但得到一些错误。经过小调试后,我发现了一种类似jQuery.each(jQuery('[name="input-data"]'), function(key, value)的方法,但当我尝试执行console.log(value.val());时,我遇到了错误。因此,我决定看看value中有什么,并感到惊讶--只有一个字符串<input type="datetime" name="input-data" id="datetime-start">。那么如何循环遍历所有的输入值呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-15 16:10:49

在jQuery实例上使用each,例如:

代码语言:javascript
复制
jQuery('[name="input-data"]').each(function() {
    // Here, `this` is the DOM element. If you want to use jQuery methods,
    // wrap the element in a jQuery instance:
    var input = jQuery(this);

    // Now, input.val() will give you the value
});

jQuery的API有时会让人感到困惑。这就是其中之一。jQuery有两个相似但不同的函数:您在jQuery实例上调用的each (见上)和jQuery.each,您可以使用它遍历数组、对象和类似数组的对象。

使用jQuery.each(jQuery('[name="input-data"]', function...的代码可以工作,因为jQuery实例类似于数组,但是在函数中没有包装DOM元素,这就是val()不能工作的原因。但以上是遍历一组匹配元素的正常方式。

票数 2
EN

Stack Overflow用户

发布于 2013-03-15 16:11:02

试一试

代码语言:javascript
复制
$('input[name="input-data"]').each(function(el){
    console.log($(this).val());
})

演示:Fiddle

票数 0
EN

Stack Overflow用户

发布于 2013-03-15 16:11:41

代码语言:javascript
复制
$(document).ready(function(){
   $('input').each(function(){
     console.log($(this).val());
    });
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15427462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档