Append and jquery



我在导航时遇到了一些问题,我希望有人可以帮助我。

我需要我当前的列表,以便当我推送另一种颜色的链接时,它将删除所选的链接并添加此列表。这样我当时只能在跟踪中有一个链接。

.HTML

<div class="trail"></div>
<ul class="navigation">
    <li><a class="orange" href="#">Link1</a>
    </li>
    <li><a class="black" href="#">Link2</a>
    </li>
    <li><a class="green" href="#">Link3</a>
    </li>
</ul>

.CSS

.trail {
    background-color:#ccc;
    padding:20px;
    margin-bottom:10px;
}
.trail > a {
    color:#ffffff;
}
.navigation {
    padding:20px;
    margin:0;
    background-color:#ccc;
    list-style:none;
}
.navigation > li > a {
    color:#ffffff;
} 
.orange {
    background-color:orange;
}
.black {
    background-color:black;
}
.green {
    background-color:green;
}

简讯

var count = 0;
    $('.navigation > li > a').on('click', function (e) {
        e.preventDefault();
        if (count < 1){
            var $addinput = $('.trail').append('<a href="#" class="' + $(this).attr('class') + '">' + $(this).html() + '</a>');            
            $('i').append($addinput);    
            count++;
        } 
    });

我也做了这个小提琴:http://jsfiddle.net/iBertel/LpX4R/2/

您可以简单地清空跟踪:

$('.navigation > li > a').on('click', function (e) {
    var $addinput = $('<a>').addClass(this.className).html(this.innerHTML);
    $('.trail').empty().append($addinput); // <= empty then append
    e.preventDefault();
});

示范

请注意,我还简化了元素创建并删除了字符串连接。

你只需要使用.clone().html()就可以有效地完成你的任务。

尝试

$('.navigation > li > a').on('click', function (e) {
    e.preventDefault();
    $(".trail").html($(this).clone());
});

演示

这应该可以解决问题:

$('.navigation > li > a').on('click', function (e) {
    e.preventDefault();
    $('.trail a').remove();
    var $addinput = $('.trail').append('<a href="#" class="' + $(this).attr('class') + '">' +     $(this).html() + '</a>');
    $("i").append($addinput);
});

相关内容

  • 没有找到相关文章

最新更新