【问题标题】:Get class of cloned element jquery获取克隆元素jquery的类
【发布时间】:2012-03-24 04:13:03
【问题描述】:

我正在寻找一种方法来获取克隆元素的类,如果可能的话,这是我的脚本:

var numberOfDoc = $("input[type=checkbox]").each( function (index) {
    $(this).addClass("doc" + index);
})

$("input").change( function () {
    if(this.checked) {
        var checked = $(this).parent().find("span");
        $("span.noneAttached").fadeOut('slow', function () {
            checked.clone().appendTo(".attachedDocuments").after("<br />").text();
        });
    }
    else if ($("input:checked").length == 0) {

        $("span.noneAttached").fadeIn("slow");
    }
});

如您所见,我根据其索引号为每个复选框赋予其自己的类名。当一个复选框被点击时,它会找到它的父级,然后是 span,克隆它,并将 span 的文本附加到另一个 div。

在跨度被克隆后,我需要能够找到复选框已给出的类名,并将其添加到正在克隆和附加的跨度中,以跟踪每个跨度的实际来源。

这里有什么想法吗?有没有更好的方法来做到这一点?

【问题讨论】:

  • 期望的结果/用户体验是什么?
  • 基本上,有人会选中复选框,然后根据被点击的复选框,将文件添加到最终将通过电子邮件发送给其他人的表单中。我需要跟踪从哪个复选框添加了哪些跨度,以便稍后在取消选中时将其删除。

标签: javascript jquery


【解决方案1】:

您可以使用$(this).attr('class') 来获取复选框的类名,假设this 引用该复选框。

此外,您可以使用$("input:checked") 获取页面上所有已检查输入的数组。

【讨论】:

  • 啊,当然。我认为.prop() 可能更适合这个。
  • 我可以看到 prop() 更适合如果您要使用 tagNamenodeType 之类的东西,但您写道您想要 class 属性,而 attr() 在这方面。
猜你喜欢
  • 2021-12-31
  • 1970-01-01
  • 2011-04-23
  • 1970-01-01
  • 2012-02-01
  • 1970-01-01
  • 2013-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多