所以,我正在为博客的后端创建/编辑/删除页面工作 - 它显示了一个文章列表,每个文章都有一个编辑和删除按钮。当点击文章'foo'的编辑按钮时,会发生以下情况:
div扩展,编辑表单的原始HTML附加在jquery append()中。
DOM有一个对象数组,每个对象包含一篇文章的信息。获取id为'foo'的特定对象并将其强制转换为数组'bar'。
现在,我要做的是将附加表单的值设置为'bar'中的值。我尝试过使用.attr(),. value(),但似乎没什么用。
我认为问题可能是我在同一范围内做这一切。在我的.append()调用之后,我尝试访问我刚刚通过ID附加的元素。这让我沮丧吗?
在函数中,这就是我试图这样做的方式:
$(this).parent().children('#thisone').append("<input id="articletitle">");
$(this).parent().children('#thisone').children('#articletitle').val("my title");
答案 0 :(得分:2)
在追加它之前尝试构建完整元素:
var $input = $("<input>", {
id: "articleTitle",
value: "my title"
});
$("#thisone").append($input);
答案 1 :(得分: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 fiddele代码,你的参考文件也在这里查看:http://jsfiddle.net/4hA6y/