首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时创建和链接动态元素

同时创建和链接动态元素
EN

Stack Overflow用户
提问于 2013-06-17 12:04:16
回答 5查看 50关注 0票数 0

我正在创建两个元素: foo和bar,我需要同时链接这两个元素。

代码语言:javascript
复制
<div class="target-1"></div>
<div class="target-2"></div>
<form>
    <input type="text" />
    <button type="submit">Submit</button>
</form>

这些是创建的元素的目标。下面是js:

代码语言:javascript
复制
var index = 0;
$("form").submit(function(){
  $(".target-1").append(
    $("<span/>", {class: "foo", id: "s-" + index++}));
  $(".target-2").append(
    $("<span/>", {class: "bar s-" + index}));
});

现在,这意味着在target-1内创建一个id为"s-n“的span.foo,同时在target-2内创建另一个span.bar,其类为"s-n”,与span.foo的id完全相同。

它实际做的是创建span.foo id="s-0“和span.bar class="s-1”。我不明白为什么,因为我在第一个追加中增加了index,然后在第二个追加中设置了index的当前状态。

这是一个fiddle http://jsfiddle.net/Yrrfd/,但我只使用了按钮,没有表单,因为你不能在jsfiddle中提交表单。但是它应该是一样的,你可以看到不同的索引值。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-06-17 12:07:08

如果要在赋值后递增索引,则需要使用++index而不是index++

代码语言:javascript
复制
$(".target-1").append(
    $("<span/>", {class: "foo", id: "s-" + ++index})); // Here
  $(".target-2").append(
    $("<span/>", {class: "bar s-" + index}))
});

Fiddle

Post-Increment运算符将首先赋值,然后递增。您需要预增量运算符。

票数 1
EN

Stack Overflow用户

发布于 2013-06-17 12:07:37

您应该使用++index而不是index++

index++会给出这个值,然后递增。++index会递增该值,然后给出该值。

票数 1
EN

Stack Overflow用户

发布于 2013-06-17 12:08:25

您应该使用++index,这样索引就会递增,然后再使用。以下是更新后的小提琴:http://jsfiddle.net/Yrrfd/5/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17140242

复制
相关文章

相似问题

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