如何在html中注入div?

时间:2014-11-26 08:19:28

标签: jquery html

我有一个html字符串如下:

<div data-field-id="ListFieldId1" data-field-type="ListField">
            <div id="1">
                <div>
                    some text
            </div>
            <img src="source" />
            <div>
                some text
            </div>
            <div>
                some text
            </div>
            <a href="link">click</a>
        </div>
    </div>

在我的网页中,我有一个按钮,当按下div部分id="1"时,应使用jquery将div注入id="2"。我尝试以这种方式将变量listHtml等于<div id="1">...</div>listCount作为默认ID。我试图以这种方式为listHtml设置一个新的id:

listHtml.attr('id', (listCount + 1).toString());

但这条线不起作用!

事实上,在这项工作之后,我想要append(listHtml)

我该如何解决?

有没有其他方法可以为html注入div标签?

感谢。

4 个答案:

答案 0 :(得分:1)

那应该做的工作 $.('#1').append($('<div id="'+(listid+1)+'">...</div>'));

答案 1 :(得分:1)

在想要在该元素的任何属性中进行更改之前,必须先创建Jquery对象。否则它将它视为简单的字符串而不是元素。

例如

var listHtml = '<div id="1">New Div</div> ';
var ele = $(listHtml);
ele.attr('id', (listCount + 1).toString()); //here you can make change in id attribute.    

愿这对你有所帮助。

这是添加动态div的 JsFiddle Demo

答案 2 :(得分:1)

如果我能正确理解您的问题,我希望以下代码行可以为您提供帮助。

注意:我已经包含了&#34; id&#34;在div等上为了简洁和快速阅读。

<input id="btnAdd" type="button" value="Add Div" />
<div id="divMain" data-field-id="ListFieldId1" data-field-type="ListField">
    <div id="1">
        <div>
            some text
        </div>
        <img src="source" />
        <div>
            some text
        </div>
        <div>
            some text
        </div>
        <a href="link">click</a>
    </div>
</div>
<script src="~/Scripts/jquery-1.8.2.js"></script>
<script>
    $("#btnAdd").click(function () {
        var div = $("#divMain").children('div').last();
        var nextDivId = div.attr("id");

        var newDiv = div.clone();
        newDiv.attr("id", Number(nextDivId) + 1);
        $("#divMain").append(newDiv);
    });
</script>

答案 3 :(得分:1)

function addNewDiv()
{
    $("#yourDiv").append('<div id="'+ listCount++ +'">Div "' + listCount  +'" </div>');   
}

希望这有帮助