jQuery查找子项并按顺序赋值
jQuery find children and assign value by order
我有以下代码:
<div class="A1">
<div class="child">A1-1</div>
<div class="child">A1-2</div>
<div class="child">A1-3</div>
<div class="child">A1-4</div>
<div class="A2">
<div class="child">A2-1</div>
<div class="child">A2-2</div>
<div class="A3">
<div class="child">A3-1</div>
<div class="child">A3-2</div>
</div>
</div>
</div>
我想知道如何为class .A1
的每个子级分配一个值,例如基于顺序。因此,如果A1-1是代码上的第一个类,它将被分配:1如果我重新订购:
<div class="child">A1-3</div>
<div class="child">A1-2</div>
<div class="child">A1-1</div>
<div class="child">A1-4</div>
那么现在A1-1将具有值3。有什么想法吗?
$('.A1').children().each(function (index,element) {
$(element).html('A1-' + (index + 1));
});
http://jsfiddle.net/justiceerolin/wH4UG/
这样它就适用于A-N的所有实例。
正如我在评论中提到的,div元素没有value
属性,因此下面创建了一个data-value
属性,该属性将为第一个子项设置为1,为第二个子项设置2,依此类推:
$(".A1").children().each(function(index) {
$(this).attr("data-value", index + 1);
});
即使在DOM中移动每个元素,该属性也将保留在每个元素中。
如果您想将值提交到数据库,那么您可能想将索引"1"与其div"A1-1"(或上一个示例中的"A1-3")的内容相关联。如果是这样,你可以这样做:
var values = {};
$(".A1").children().each(function(index) {
values[index + 1] = $(this).html();
});
$.post("yourURLtoSubmitDataTo", values);
values
对象最终会出现以下情况:
{
"1" : "A1-3",
"2" : "A1-2",
"3" : "A1-1",
"4" : "A1-4"
}
相关文章:
- Javascript变量赋值|
- 无法为打字稿字典赋值
- Javascript-根据赋值顺序,按键合并对象数组
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何通过json对象数组为嵌套对象赋值
- 赋值后的回调函数
- ||(OR)运算符如何在赋值中工作
- 可以使用属性赋值实现多个函数
- 将ECMAScript 6析构函数赋值(ES2015)重构为旧版本的javascript
- 如何在javascript中为全局变量赋值
- Javascript:JSHint:应为赋值或函数调用,但实际看到的却是表达式
- JavaScript:在嵌套循环中为数组赋值
- 未设置变量的赋值| jQuery的作用是什么
- Javascript赋值运算符的奇怪行为
- 了解 JavaScript 对象赋值的顺序
- Javascript 中的赋值顺序
- javascript 中原型赋值的顺序
- jQuery查找子项并按顺序赋值
- 对象中属性的JS赋值顺序
- Javascript赋值表达式的执行顺序