我有mutli< a>元素包装成一个div,我想包装所有< a>标签到< ul>名单.
HTML看起来像这样:
<div id='MyId'> <a href='#'><span>1</span></a> <a href='#'><span>2</span></a> <a href='#'><span>3</span></a> <a href='#'><span>4</span></a> <a href='#'><span>5</span></a> </div>
而且我想拥有
<div id='MyId'> <ul> <li> <a href='#'><span>1</span></a> </li> <li> <a href='#'><span>2</span></a> </li> <li> <a href='#'><span>3</span></a> </li> <li> <a href='#'><span>4</span></a> </li> <li> <a href='#'><span>5</span></a> </li> </ul> </div>
我尝试了jquery,但我无法做到
$('#MyId').each(function(){ var $this = $(this),html = $this.html(),skel = '<ul><li>'+ html +'</li></ul>'; $this.closest('div').html(''); $('#MyId').append(skel); });
这里有些fiddle
任何帮助,将不胜感激.
解决方法
使用
wrapAll()
和
wrap()
方法
$('#MyId a') .wrapAll('<ul>') // wrap all elements by `ul` .wrap('<li>'); // wrap each element by `li` console.log( $('#MyId').html() )
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id='MyId'> <a href='#'><span>1</span></a> <a href='#'><span>2</span></a> <a href='#'><span>3</span></a> <a href='#'><span>4</span></a> <a href='#'><span>5</span></a> </div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。