如何删除锚点并在html中指定锚点

时间:2010-10-06 06:58:55

标签: jquery html

我有ul

<ul>
  <li>1</li>
  <li><a href="#">2</a></li>
</ul>

我需要一件我想先制作锚点的东西

<li>1</li>

<li><a href="#">1</li></li>`

并从第二个意味着删除锚点

<li><a href="#">2</a></li>  to <li>2</li>

我如何在jQuery中执行此操作?

1 个答案:

答案 0 :(得分:2)

非常简单的方法,即“切换”链接:

$('ul li').each(function() {
    if($(this).find('a').length > 0) {
         $(this).text($(this).text());
    }
    else {
        $(this).html($('<a />').attr('href', '#').text($(this).text()));
    }
});

示例:http://jsfiddle.net/E2ryt/

<强>更新

根据你的评论,我认为你想要这个:

$('ul li').each(function() {
    $(this).html($('<a />').attr('href', '#').text($(this).text()));
}).click(function() {
     $(this).text($(this).text());
});

但我不是百分百肯定。见这里:http://jsfiddle.net/E2ryt/1/

更新2:

根据David的评论,您可能想要这样:

var lastClicked = null;

$('ul li').click(function() {
    if(lastClicked) {
        lastClicked.html($('<a />').attr('href', '#').text(lastClicked.text()));
    }
    lastClicked = $(this).text($(this).text());
});

见这里:http://jsfiddle.net/E2ryt/2/