js如何实现只要点击对应按钮 对应的li就自动排列到第一位相当于置顶

<ulid="tb1"><li><span>1</span><span><aonclick="SetTop(this);">置顶</a></span></li><li><... <ul id="tb1">
<li><span>1</span><span><a onclick="SetTop(this);">置顶</a></span></li>
<li><span>2</span><span><a onclick="SetTop(this);">置顶</a></span></li>
<li><span>3</span><span><a onclick="SetTop(this);">置顶</a></span></li>
</ul>
<script>
function SetTop(v){
var tr = $(v).parent("span").parent("li");
$("#tb1").find("li").first().before(tr);
}
</script>
我想把置顶提出来 不知道怎么改
展开
 我来答
BUG集散地
2016-10-19 · TA获得超过1317个赞
知道小有建树答主
回答量:625
采纳率:80%
帮助的人:289万
展开全部
<html>
    <body>
        <ul>
            <li onclick="topLine(event)">111</li>
            <li onclick="topLine(event)">222</li>
            <li onclick="topLine(event)">333</li>
        </ul>
    </body>
</html>
<script type="text/javascript">
//思路:获取当前行,复制,删除,插入到第一行。
var topLine = function(event){
    event = event || window.event;
    var t = event.currentTarget,$t = $(t);
    var html = t.outHTML;
    $t.remove();
    $t.parent().find('li:first-child').before(html);
};
</script>
更多追问追答
追问
这个思路不行只能点击删除 没有复制。 其实我在网上也找了一些相关效果但是他们都是把点击效果放在li里面了,我不想放在里面 想提出来,我js很菜。
追答
放在哪里都行,只要能确定到某一个LI标签就可以。
上面的代码没有经过测试,直接手写的。可以简单调试下。
如果有问题的话也是最后一句。
可以换成
$(html).before($t.parent().find('li:first-child'));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式