我有一个元素集合,我想使用每个元素循环,但我在一个外部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').也许这本身就是一个单独的问题......
这是显而易见的吗?
我目前有代码通过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) $('[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'的输入.
我正在使用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()我希望这样"你需要填写:姓名,电子邮件"
我有以下带有数据属性的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) 如何用jquery转换订单?
我尝试了这样的建议,但它不起作用!
$($(".block-item").get().reverse()).each(function() { /* ... */ });
Run Code Online (Sandbox Code Playgroud)
看看这里.
我希望盒装像这样重新排列,
18
17
16
etc
Run Code Online (Sandbox Code Playgroud)
谢谢.
我可以在每个循环中获得下一个值吗?
(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
我也可以获得下一个下一个值吗?
我有一个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 - >真/假
下拉部分我将自己做..我只是对如何迭代这个对象感到困惑.任何人都能引导我举一些例子吗?
我有多个(和动态)数量的输入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
我是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>.这段代码有什么办法可行吗?
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