标签: each

jQuery:如何使用从0以外的索引开始的每个

我有一个元素集合,我想使用每个元素循环,但我在一个外部for循环中循环它们.当我在每个中找到我想要的东西时,我会返回false来突破.下一次外循环运行时,我想在我返回的元素之后的元素中开始.一般代码示例:

var nextIndex = 0;

for (var j=1; j <= someCount; j++) {
    // do outside loop stuff

    $('#someElemID').find('.someClass').each(function(index) {
        if (/*this is right one*/) {
            // do something
            // next index should get passed to each function next loop... somehow?
            nextIndex = index + 1; 
            return false;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我想过切换到for循环,但后来我对如何从中获取返回感到困惑.find('.someClass').也许这本身就是一个单独的问题......

这是显而易见的吗?

each jquery

14
推荐指数
2
解决办法
1万
查看次数

在jQuery中使用filter()更有效率,还是只在each()中这样做?

我目前有代码通过jQuery提取数据,然后使用该each方法显示它.

但是,我遇到了一个排序问题,所以我在使用filter之前调查了jQuery的方法sort(这很有意义).

我现在正在考虑删除sort,并且我想知道我是否应该按filter原样离开呼叫,或者将其移回each.

过滤器jQuery API文档中的示例包含样式结果,而不是文本内容的输出(特别是不使用each()).

文档目前声明"[t]他提供的选择器是针对每个元素[...]进行测试的",这让我相信做一个filter 一个each会导致非过滤元素循环两次,而只有一次如果检查是在each循环中完成的.

我是否相信更有效率?

编辑:虚拟的例子.

所以这:

// data is XML content
data = data.filter(function (a) {
    return ($(this).attr('display') == "true");
});
data.each(function () {
    // do stuff here to output to the page
});
Run Code Online (Sandbox Code Playgroud)

对此:

// data is XML content
data.each(function () {
    if ($(this).attr('display') == "true") {
        // do stuff here to …
Run Code Online (Sandbox Code Playgroud)

javascript each jquery filter

13
推荐指数
2
解决办法
1万
查看次数

jQuery:找到重复的ID并删除除第一个之外的所有ID

    $('[id]').each(function () {

        var ids = $('[id="' + this.id + '"]');

        // remove duplicate IDs
        if (ids.length > 1 && ids[0] == this) $('#' + this.id).remove();

    });
Run Code Online (Sandbox Code Playgroud)

以上将删除第一个重复ID,但我想删除最后一个.我试过$('#'+ this.id + ':last')但无济于事.

小提琴

在附加动作发生时,应保留带有值'sample'的输入.

javascript each jquery

13
推荐指数
1
解决办法
2万
查看次数

获取输入字段的标签

我正在使用Jquery进行验证,需要使用自己的标签从每个元素获取$ label.现在alert()给出了med [object object].对我来说最好的事情就是获得一个警告(),其中所有字段都排成一行,没有填写.而不是每个人的警报().

这是一个小提琴:http://jsfiddle.net/s7pYX/

这是如何完成的?

HTML:

<div>
<label for="txtName">Name</label>
<input type="text" id="txtName" class="form-control" name="txtName">
</div>

<div>
<label for="txtEmail">E-mail</label>
<input type="text" id="txtEmail" class="form-control" name="txtEmail">
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

 $('input').each(function(){
 if ($(this).val() == '') {

 $element = $(this)

 var $label = $("label[for='"+$element.attr('id')+"']")

 alert($label)    

 }

 });  
Run Code Online (Sandbox Code Playgroud)

在alert()我希望这样"你需要填写:姓名,电子邮件"

each jquery label

13
推荐指数
1
解决办法
5万
查看次数

使用jQuery通过.each()获取数据属性值

我有以下带有数据属性的HTML - 我想编写一些jQuery,它将循环遍历HTML并收集数据属性并将它们放入数组中 - 任何人都可以帮助我,因为我收到错误.

ERROR in console log : item.data is not a function
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用data()属性 - 你能看到我做错了吗?

//我的HTML代码

<span class="winners" data-userid="123" data-position="1" data-fullname="neil">
<span class="winners" data-userid="234" data-position="2" data-fullname="Ron">
<span class="winners" data-userid="421" data-position="3" data-fullname="Philip">
Run Code Online (Sandbox Code Playgroud)

//我的jQuery代码

var multi = $('.winners');
var winners_array = [];

$.each(multi, function (index, item) {
    winners_array.push( {name: 'fullname', value: item.data('fullname')} );  
});

console.log(winners_array);
// ERROR in console log : item.data is not a function
Run Code Online (Sandbox Code Playgroud)

javascript each jquery html5-data

13
推荐指数
2
解决办法
4万
查看次数

jquery:逆转一个订单

如何用jquery转换订单?

我尝试了这样的建议,但它不起作用!

$($(".block-item").get().reverse()).each(function() { /* ... */ });
Run Code Online (Sandbox Code Playgroud)

看看这里.

我希望盒装像这样重新排列,

18
17
16
etc
Run Code Online (Sandbox Code Playgroud)

谢谢.

each jquery reverse

12
推荐指数
3
解决办法
3万
查看次数

ruby在每个循环上获得下一个值

我可以在每个循环中获得下一个值吗?

(1..5).each do |i|
    @store = i + (next value of i)
end
Run Code Online (Sandbox Code Playgroud)

答案是......

1 + 2 + 2 + 3 + 3 + 4 + 4 + 5 + 5 = 29

我也可以获得下一个下一个值吗?

ruby each

12
推荐指数
2
解决办法
9816
查看次数

在jquery中迭代JSON对象

我有一个json对象

[
{"DisplayName":"Answer Number 1","Value":"Answer1","Option":"True"},
{"DisplayName":"Answer Number 1","Value":"Answer1","Option":"False"},
{"DisplayName":"Answer Number 2","Value":"Answer2","Option":"True"},
{"DisplayName":"Answer Number 2","Value":"Answer2","Option":"False"}
]
Run Code Online (Sandbox Code Playgroud)

我需要的是从这个对象创建2个下拉列表

答案1 - >真/假

答案2 - >真/假

下拉部分我将自己做..我只是对如何迭代这个对象感到困惑.任何人都能引导我举一些例子吗?

each jquery

12
推荐指数
1
解决办法
2万
查看次数

如何使用$ .each将多个文件输入附加到FormData对象?

我有多个(和动态)数量的输入type=file.

我想从中创建一个FormData对象.

我需要手动将它们附加到对象,因为我需要访问它们的文件名以插入数据库,因此需要指定文件名是这种格式:

myFormData.append(name,file,filename);
Run Code Online (Sandbox Code Playgroud)

HTML

<form id="my_form" enctype="multipart/form-data">
    <input type="file" name="undefined" id="file_1" data-filename="image.jpg">
    <input type="file" name="undefined" id="file_2" data-filename="image2.jpg">
    <button>click</button>
</form>
Run Code Online (Sandbox Code Playgroud)

jQuery的

var myFormData = new FormData();

$(document).on("click", "button", function(e) {
    e.preventDefault();
    var inputs = $("#my_form input");
    $.each(inputs,function(obj,v) {
        var file = v.files[0];
        var filename = $(v).attr("data-filename");
        var name = $(v).attr("id");
        myFormData.append(name, file, filename);
    });

    //alert(JSON.stringify(myFormData));
    console.log(myFormData);
});  
Run Code Online (Sandbox Code Playgroud)

我认为对象没有正确构建,我无法正确查看对象的内容以确认这一点.

这是我在控制台中得到的:

在此输入图像描述

的jsfiddle

http://jsfiddle.net/rwone/K7aMw/

javascript each jquery form-data

12
推荐指数
1
解决办法
5万
查看次数

在百里香花中创建一张桌子

我是thymeleaf的新手,我正在尝试使用数组和每个循环创建一个简单的表.

我的代码看起来像这样:

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Smoke Tests</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<table border="1" style="width:300px">
    <tr>
        <td>Test Name</td>
    </tr>
    <tr th:each="smokeTest : ${smokeTests}">
        <td>
            th:text="${smokeTest.name}">A Smoke Test'
        </td>
    </tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

基本上我的问题是我不能在<td>s内运行循环<tr>.这段代码有什么办法可行吗?

html each html-table thymeleaf

12
推荐指数
2
解决办法
3万
查看次数

标签 统计

each ×10

jquery ×8

javascript ×4

filter ×1

form-data ×1

html ×1

html-table ×1

html5-data ×1

label ×1

reverse ×1

ruby ×1

thymeleaf ×1