簡體   English   中英

如何將錨標記添加到列表中的文本

[英]How to add anchor tag to text inside a list

我有這個清單

<ul>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
</ul>

我想用錨標簽將列表中的所有文本包裝起來,例如這樣的東西

<ul>
<li><a href="">Test</a></li>
<li><a href="">Test</a></li>
<li><a href="">Test</a></li>
<li><a href="">Test</a></li>
</ul>

使用jQuery。 內容是動態創建的,因此我無法控制要編輯的代碼。

我使用了一些教程中的代碼,但沒有成功。

$("ul li").wrap(function() {
   var link = $('<a/>');
   link.attr('href', '');
   link.text($(this).text());
   return link;
});

您可以使用wrapInner

 $('ul li').wrapInner('<a href="#"/>'); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <ul> <li>Test</li> <li>Test</li> <li>Test</li> <li>Test</li> </ul> 

 $('ul li').contents().wrap('<a href="#"></a>'); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li>Test</li> <li>Test</li> <li>Test</li> <li>Test</li> </ul> 

只需在jquery中使用.wrap()

$('ul li').contents().wrap('<a />');

如果要在錨標記中添加href屬性

$('ul li').contents().wrap('<a href="#"></a>');

小提琴

(function($) {
  $(function() {
    $('ul li').each(function() {
      var li = $(this),
        text = li.text();

      // li.html('<a href="">' + text + '</a>');
      li.text('').append('<a href="">' + text + '</a>');
    });
  });
})(jQuery);

li.html('<a href="">' + text + '</a>'); 將幾乎在每個去除一切li ,因為我不知道這並不重要或沒有它的安全刪除文本和追加的<a>使用li.text('').append('<a href="">' + text + '</a>');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM