0

我有四个链接,我希望内容出现在被点击的特定链接的链接列表下方的 div(.contentcont [name of div]) 中。

$('.link1').click(function(e){
$(this).clone().html('<h1>Text appear</h1>')
.appendTo('.contentcont')
               e.preventDefault();  
       });

我正在使用 .html() 提供要输入到 div 的内容。如果您查看提供的 js fiddle ( http://jsfiddle.net/jack2ky/K3FaY/2/ ),您将能够看到新内容出现在 div 中,但它具有链接的特征[不好]。也许这与我使用 .clone() 有关。我使用 .clone() 的原因是,当我点击链接时,链接就会消失。也许您可以告诉我使用 .clone() 是否是防止链接消失的正确解决方案。为什么新内容具有链接特征?

4

4 回答 4

2

新内容具有链接特征,因为您正在克隆链接元素本身。要添加新内容,只需使用:

$('.contentcont').append('<h1>Text appear</h1>');
于 2012-09-30T05:47:24.420 回答
1

.html()设置元素的内部HTML。您克隆的元素仍然是一个<a>标签(您克隆了您的链接),因此您实际上是将带有不同文本的链接副本附加到另一个元素中。

如果我正确阅读了您的代码,那么您真的不需要使用.clone()或根本不需要.html()。只需创建一个新元素:

$('<h1 />', {
    text: 'Text appear'
}).appendTo('.contentcont');

演示:http: //jsfiddle.net/Blender/K3FaY/8/

于 2012-09-30T05:45:30.780 回答
0

innerHTML尝试将克隆的链接附加到临时父节点,如 div,然后使用或拉回 html$.html()

于 2012-09-30T05:46:53.017 回答
0

新内容具有链接的特性,因为它直接作为子元素添加到<a>...</a>元素中,原因是clone(). 尝试在 Div 中添加新内容,使用它的 ID 并且不使用 clone()。

于 2012-09-30T05:52:03.560 回答