动态创建<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

上一篇: Javascript creating <div> on the fly

下一篇: $('<element>') vs $('<element />') in jQuery