所以我克隆了一个元素并为其添加了一些data
。现在我需要通过data attribute
选择克隆的元素。问题是我无法找到,选择基于data attribute
的克隆元素。有什么想法吗?
这是小提琴http://jsfiddle.net/fjckls/hho6k86a/
这不起作用:
var clone = $(".clone").clone(true);
clone.html("this is clone")
clone.data("info", "this-is-clone");
$(".clone-holder").append(clone);
// nothing is selected
var cloned = clone.find("[data-info='this-is-clone']");
cloned.css("color", "red")
@fjckls它只是通过使用属性而不是数据来解决它 没有解释为什么你的代码不起作用。这种答案 当然不会帮助社区。 - King King
我暂时接受了 @Hendra Lim 的答案 - 我理解其解决方法 - 不使用data
属性,而是创建新的自定义属性。如果有人在我的方案中使用data
的“正确”解决方案,那么我会重新考虑接受的答案。暂时它起作用所以我会离开它。
答案 0 :(得分:0)
试试这个:
var clone = $(".clone").clone(true);
clone.html("this is clone")
clone.attr("info", "this-is-clone");
$(".clone-holder").append(clone);
var cloned = $(".clone-holder").find("[info='this-is-clone']");
cloned.css("color", "red")
这是工作示例here
你做错了,是你试图在“.clone”元素中找到克隆元素,而你必须在“.clone-holder”元素中找到克隆元素因为你在那里附加了你的克隆元素。并将clone.data替换为clone.attr。