将附加HTML的属性设置为jquery中的变量?

时间:2013-09-24 18:37:43

标签: javascript jquery html

所以,我正在为博客的后端创建/编辑/删除页面工作 - 它显示了一个文章列表,每个文章都有一个编辑和删除按钮。当点击文章'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");

2 个答案:

答案 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/