jQuery 包裹列表元素

标签 jquery html

我的标记就像 ul 中的一些 li。就像这样。

<ul id="menu">
<li class="test"><a href="#">dhsd</a></li>
<li class="test"><a href="#">sdghds</a></li>
- - - - - - - - - - - - -- - - - -
- - - -- - - - - - -- -- - - - -- -
<li class="lang-switch language_en"><a href="#">en</a></li>
<li class="lang-switch language_es"><a href="#">es</a></li>
<li class="lang-switch language_de"><a href="#">de</a></li>
<li class="lang-switch language_ja"><a href="#">ja</a></li>
</ul>

从这里你可以看到,在一些 li 之后,最后四个有类名 lang-switch。 我想包装那些类为 lang-switch 的 li 标记。所以我的标记应该是这样的

<ul id="menu">
<li class="test"><a href="#">dhsd</a></li>
<li class="test"><a href="#">sdghds</a></li>
- - - - - - - - - - - - -- - - - -
- - - -- - - - - - -- -- - - - -- -
<ul class="listing">
  <li class="lang-switch language_en"><a href="#">en</a></li>
  <li class="lang-switch language_es"><a href="#">es</a></li>
  <li class="lang-switch language_de"><a href="#">de</a></li>
  <li class="lang-switch language_ja"><a href="#">ja</a></li>
</ul>
</ul>

所以为了添加一个换行,我做了一个像这样的jquery

 jQuery(document).ready(function() {
    var LangList = jQuery('ul#menu').find('li.lang-switch');
    jQuery(LangList).wrap('<ul class="test"></ul>');
  });

但是这个正在做这样的包装

<ul class="test">
  <li class="lang-switch language_en"><a href="#">en</a></li>
 </ul>
  <ul class="test">
  <li class="lang-switch language_es"><a href="#">es</a></li>
 </ul>
  <ul class="test">
  <li class="lang-switch language_de"><a href="#">de</a></li>
 </ul>
  <ul class="test">
  <li class="lang-switch language_ja"><a href="#">ja</a></li>
 </ul>

有人可以告诉我如何对这些具有相同类别的列表进行包装吗?

最佳答案

使用.wrapAll()

var LangList = jQuery('ul#menu').find('li.lang-switch');
LangList.wrapAll('<ul class="test"></ul>');

Working JSFiddle

正如 Rajaprabhu Aravindasamy 指出的那样,您不需要再次将 LangList 转换为 jQuery 对象,因为它已经是一个 jQuery 对象了。

关于jQuery 包裹列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25035228/

相关文章:

html - 在 Bootstrap 4 上更改下拉图标

javascript - 如何在jquery按钮中使用 '>'或 '&gt'特殊字符

html - 输入框持续到下一页 ICS

javascript - 如何使用 Jquery 选择具有特定类的父级的子级?

jquery - 如何console.log这个ajax调用的结果?

javascript - 我想在文本文本框中显示我的字符串,但它没有这样做

JavaScript:获取从页面顶部到任何标签的距离

javascript - 如何根据值选择和检查这些类型的复选框?

Jquery多选: How to know which value was selected/deselected

javascript - 使用 JS 的多重过滤表