同时创建和链接动态元素
Creating and linking dynamic elements simultaneously
我正在创建两个元素:foo和bar,我需要这些链接在同一时间。
<div class="target-1"></div>
<div class="target-2"></div>
<form>
<input type="text" />
<button type="submit">Submit</button>
</form>
这些是所创建元素的目标。这里是js:
var index = 0;
$("form").submit(function(){
$(".target-1").append(
$("<span/>", {class: "foo", id: "s-" + index++}));
$(".target-2").append(
$("<span/>", {class: "bar s-" + index}));
});
现在这意味着创建一个span。target-1中的Foo, id为"s-n",同时创建另一个span。target-2内的Bar,类"s-n"与span.foo的id完全相同。
它实际做的是创建span。Foo id="s-0"和span。酒吧class = " s - 1"。我不明白为什么,因为我在第一个追加中增加索引,然后在第二个追加中设置索引的当前状态。
这是一个小提琴http://jsfiddle.net/Yrrfd/,但我只使用按钮,没有表单,因为你不能在jsfiddle中提交表单。但是它应该是一样的,你可以看到不同的索引值。
您在赋值后增加索引,您需要使用++index
而不是index++
$(".target-1").append(
$("<span/>", {class: "foo", id: "s-" + ++index})); // Here
$(".target-2").append(
$("<span/>", {class: "bar s-" + index}))
});
小提琴
后自增操作符先赋值,再自增。
您应该使用++index
而不是index++
。
index++
给出该值,然后将其加1。++index
增加它,然后给你的值。
您应该使用++index
,以便索引是递增的,然后使用。这是更新后的小提琴:http://jsfiddle.net/Yrrfd/5/
我不确定我完全理解你的要求,但我认为你需要把它改成
var index = 0;
$("form").submit(function(){
$(".target-1").append(
$("<span/>", {class: "foo", id: "s-" + index}));
$(".target-2").append(
$("<span/>", {class: "bar s-" + index}));
index++;
});
或
var index = 0;
$("form").submit(function(){
index++;
$(".target-1").append(
$("<span/>", {class: "foo", id: "s-" + index}));
$(".target-2").append(
$("<span/>", {class: "bar s-" + index}));
});
在第一次索引值是(0)和index++(第一次使用然后递增),所以它将使用as 0然后递增1,并继续为bar,现在是1。
var index = 0;
$("form").submit(function(){
$(".target-1").append(
$("<span/>", {class: "foo", id: "s-" + index}));
$(".target-2").append(
$("<span/>", {class: "bar s-" + index++}));
});
所以你需要增加你的索引变量在bar append函数
相关文章:
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- 将动态元素绑定到函数;只剩下一个绑定
- 关于动态元素中循环中的事件
- 对动态元素使用.on()和e.stopPropagation()
- 只删除javascript中的1个动态元素
- 删除在加载dom之后创建的动态元素
- 从服务器和/或客户端加载动态元素的典型技术是什么
- IE7/8中的jQuery动态元素错误
- Jquery动态元素选择器
- AnguarJS$编译的动态元素
- 使用jQuery使动态元素可选择
- jquery在动态元素上调用日期选择器
- 如果在transclusion之后添加,为什么指令下的动态元素具有错误的作用域
- 如何使用jQuery唯一地识别具有相同id的类似动态元素
- 将单击处理程序绑定到动态元素
- 为动态元素附加事件处理程序
- 使用 jQuery 创建动态元素 单击事件始终返回 for 循环中的最后一个索引
- jQuery中的目标动态元素
- 将动态元素/行添加到 Angularjs 中的多维 Json 数组中
- Jquery 单击函数不适用于动态元素