我有一个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标签?
感谢。
答案 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>');
}
希望这有帮助