1

所以,我正在为博客创建一个后端创建/编辑/删除页面——它显示了一个文章列表,每个文章都有一个编辑和删除按钮。当点击文章 'foo' 的编辑按钮时,会发生以下情况:

  • div 展开,编辑表单的原始 HTML 用 jquery append() 附加在里面。

  • DOM 有一个对象数组,每个对象包含一篇文章的信息。获取 id 为“foo”的特定对象并将其转换为数组“bar”。

现在,我要做的是将附加表单的值设置为“bar”中的值。我尝试过使用 .attr()、.val(),但似乎没有任何效果。

我认为问题可能是我在同一范围内做这一切。在我的 .append() 调用之后,我尝试访问我刚刚通过 ID 附加的元素。这是在绊倒我吗?

在函数中,这就是我尝试这样做的方式:

$(this).parent().children('#thisone').append("<input id="articletitle">");
$(this).parent().children('#thisone').children('#articletitle').val("my title");
4

2 回答 2

2

在追加之前尝试构建完整的元素:

var $input = $("<input>", { 
    id: "articleTitle",
    value: "my title"
});

$("#thisone").append($input);
于 2013-09-24T18:41:00.813 回答
0

假设你的 HTML 代码有点像这样

<div id="thisone">
    <span id="articletitle">Some Crazy Blog Title</span>
    <a id="edittile" href="#">Edit Title</a>
</div>

Javascript代码问题:

$('#edittile').on('click', function() {
    var value = $('#articletitle').text();
    var html = '<form><input type="text" value="'+ value +'">';
    html += '<input type="submit" value="save"></form>';
    $('#articletitle').html(html);
    $(this).hide();
});

我已经创建了一个 js fiddle 代码,您的参考也在这里查看:http: //jsfiddle.net/4hA6y/

于 2013-09-24T19:46:36.803 回答