如何 select 单个克隆元素?
How to select a single cloned element?
每当我单击一个按钮时,我都会动态地向我的网页添加一个 div。
我通过克隆原始 div 并附加克隆来做到这一点。
以上我已经想通了。但是,在克隆的 div 中有一个文本输入。我想确保新的克隆文本输入清晰。
截至目前,克隆会继承原始输入中的所有文本。
通常以下会起作用。
$("#id").val("");
但是,因为所有 div 都是克隆并且具有相同的信息,所以这会将它们全部清除。
如何select我要清除其输入的确切克隆?
//listens for when element 'addTag' is clicked -- Works
$("#addTag").click(function() {
//clones an element 'tag' -- Work
var clone = $("#tag").clone();
//Attempts to change the value of clone -- Does not work
clone.val("Value");
// Appeneds the clone product to the end of a div -- Works
clone.appendTo($("#tags"));
});
你应该使用这个
clone.html("<p>value</p>");
或
clone.text("value");
.val()
方法主要用于获取input
、select
、textarea
等表单元素的值。在 select 元素的情况下,它 returns null
当没有选项时 selected 和包含每个 selected 选项的值的数组当有至少一个,并且可以 select 更多,因为存在 multiple
属性。
您需要在克隆的 div 中找到输入字段并将其设置为空。
$(function () {
$(".tag button").on("click", function () {
var $tag = $(this).parent(".tag");
var $clone = $tag.clone(true);
$tag.after($clone);
$clone.find("input[type='text']").val("");
});
});
我为您当前的标签元素设置了 var
s,然后使用 "deep clone" 参数克隆它以获取要复制的点击事件。
然后在您当前的标签元素之后插入克隆,然后找到您的输入文本元素并将值设置为“”。
祝你好运,希望这对你有帮助
这里有一个JsFiddle,也许它可以指导您找到解决方案。
每当我单击一个按钮时,我都会动态地向我的网页添加一个 div。
我通过克隆原始 div 并附加克隆来做到这一点。
以上我已经想通了。但是,在克隆的 div 中有一个文本输入。我想确保新的克隆文本输入清晰。
截至目前,克隆会继承原始输入中的所有文本。
通常以下会起作用。
$("#id").val("");
但是,因为所有 div 都是克隆并且具有相同的信息,所以这会将它们全部清除。
如何select我要清除其输入的确切克隆?
//listens for when element 'addTag' is clicked -- Works
$("#addTag").click(function() {
//clones an element 'tag' -- Work
var clone = $("#tag").clone();
//Attempts to change the value of clone -- Does not work
clone.val("Value");
// Appeneds the clone product to the end of a div -- Works
clone.appendTo($("#tags"));
});
你应该使用这个
clone.html("<p>value</p>");
或
clone.text("value");
.val()
方法主要用于获取input
、select
、textarea
等表单元素的值。在 select 元素的情况下,它 returns null
当没有选项时 selected 和包含每个 selected 选项的值的数组当有至少一个,并且可以 select 更多,因为存在 multiple
属性。
您需要在克隆的 div 中找到输入字段并将其设置为空。
$(function () {
$(".tag button").on("click", function () {
var $tag = $(this).parent(".tag");
var $clone = $tag.clone(true);
$tag.after($clone);
$clone.find("input[type='text']").val("");
});
});
我为您当前的标签元素设置了 var
s,然后使用 "deep clone" 参数克隆它以获取要复制的点击事件。
然后在您当前的标签元素之后插入克隆,然后找到您的输入文本元素并将值设置为“”。
祝你好运,希望这对你有帮助
这里有一个JsFiddle,也许它可以指导您找到解决方案。