Javascript 如何在jQuery克隆元素中找到textarea的值?

Javascript 如何在jQuery克隆元素中找到textarea的值?,javascript,jquery,Javascript,Jquery,我试图找到克隆元素中存在的textarea的值,然后更改该值,但是当我将它们写到控制台时,我不断得到“未定义”的值 我的模板: <script type="text/template" data-template="test"> <div id="content"> <textarea id="txta">123</textarea> </div> </script> clone是包含文本的

我试图找到克隆元素中存在的textarea的值,然后更改该值,但是当我将它们写到控制台时,我不断得到“未定义”的值

我的模板:

<script type="text/template" data-template="test">
    <div id="content">
        <textarea id="txta">123</textarea>
    </div>
</script>

clone
是包含文本的脚本标记。因此,它不包含供您操作的文本区域。您必须将文本转换为dom片段

var textarea = $(clone.html()).find("textarea");
演示:

注意,这实际上并没有以任何方式改变克隆

我建议这样做:

$("#btnChange").on('click', function () {
    var templateName = 'test';
    var html;
    var el;
    el = $("script[data-template=" + templateName + "]");
    html = el.html();
    console.log('html: ' + html); //**this works**

    var template = $.parseHTML($(el).text());
    console.log("template: " + template); //**this works**
    var textarea = $(template).find("textarea");
    console.log("txt val: " + textarea.val()); //**undefined**

    textarea.val("abc");
    console.log("txt val: " + textarea.val());
    $("body").append(template);
});

你想用克隆做什么?+1道歉。我清理了标题和代码,删除了我的得票率、得票率和得票率。我从未见过
我不确定它有多普遍,一般来说,当你这样做的时候,你会有一个模板引擎来完成所有的工作,而不是我上面所做的。
$("#btnChange").on('click', function () {
    var templateName = 'test';
    var html;
    var el;
    el = $("script[data-template=" + templateName + "]");
    html = el.html();
    console.log('html: ' + html); //**this works**

    var template = $.parseHTML($(el).text());
    console.log("template: " + template); //**this works**
    var textarea = $(template).find("textarea");
    console.log("txt val: " + textarea.val()); //**undefined**

    textarea.val("abc");
    console.log("txt val: " + textarea.val());
    $("body").append(template);
});