动态创建<div>的JavaScript
我有一个类似这样的链接
<a href="/home/category/blog/1" id="blog">Blog</a>
正如你可以链接有一个ID为'博客'我想要做的就是创建一个动态div与点击链接的ID,所以如果点击'博客',那么标记将是
<div id="blog">
<!--some content here-->
</div>
就像明智的如果新闻链接被点击,然后我想,
<div id="news">
<!--some content here-->
</div>
如果可能,在标记中创建? 以及我如何对jQuery非常新颖。
尝试这个:
$("a").click(function(){
$("#wrapper").append("<div id=" + this.id + "></div>");
});
没测试过,应该工作;)其中: #wrapper
的父元素,所有的工作a
,你看到的。
您将需要给该div一个不同的ID。 也许你可以给它一个类,而不是:
$("#blog").click(function() {
$(this).after("<div class='blog'>...</div>");
return false;
});
这只是创建div的许多方法之一。 您可能也想避免重复,但在这种情况下,请使用如下所示的内容:
$("#blog").click(function() {
var content = $("#blog_content");
if (content.length == 0) {
content = $("<div></div>").attr("id", "blog_content");
$(this).after(content);
}
content.html("...");
return false;
});
至于如何处理多个这样的链接,我会做这样的事情:
<a href="#" id="blog" class="content">Blog</a>
<a href="#" id="news" class="content">News</a>
<a href="#" id="weather" class="content">Weather</a>
<div id="content"></div>
有:
$("a.content").click(function() {
$("#content").load('/content/' + this.id, function() {
$(this).fadeIn();
});
return false;
});
关键是这个事件处理程序处理所有的链接。 它完全用选择器和ID来识别它们,并避免了过多的DOOM操作。 如果你想在单独的<div>
中使用这些东西,我会静态地创建它们中的每一个,而不是动态地创建它们。 如果你不需要看到它们,就隐藏它们。
尝试这个 :
<a id="blog">Blog</a>
<a id="news">news</a>
<a id="test1">test1</a>
<a id="test2">test2</a>
$('a').click(function()
{
$('<div/>',{
id : this.id,
text : "you have clicked on : " + this.id
}).appendTo("#" + this.id);
});
链接地址: http://www.djcxy.com/p/83355.html