【发布时间】:2016-12-07 23:01:48
【问题描述】:
我正在尝试将每个元素的最后一个类复制到 jQuery 中它们的父 li 元素。
这是当前标记:
<nav class="menu-uber-main-menu-container">
<ul class="menu">
<li class="menu-item menu-item-type-post_type menu-item-object-page page_item">
<a href="#" class="">
<i class="fa fa-shopping-cart fa-lg menu-basket"></i>
<span>Home</span>
</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page page_item">
<a href="#" class="">
<i class="fa fa-line-chart fa-lg menu-chart"></i>
<span>About</span>
</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page page_item">
<a href="#" class="">
<i class="fa fa-truck fa-lg menu-truck"></i>
<span>Blog</span>
</a>
</li>
</ul>
</nav>
我想将 menu-basket、menu-chart、menu-truck 复制并传递给它们的父级 li class="menu-item menu-item-type-post_type menu-item-object-page page_item"
结果应该是:
<ul class="menu">
<li class="menu-item menu-item-type-post_type menu-item-object-page page_item menu-basket">
<a href="#" class="">
<i class="fa fa-shopping-cart fa-lg menu-basket"></i>
<span>Home</span>
</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page page_item menu-chart">
<a href="#" class="">
<i class="fa fa-line-chart fa-lg menu-chart"></i>
<span>About</span>
</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page page_item menu-truck">
<a href="#" class="">
<i class="fa fa-truck fa-lg menu-truck"></i>
<span>Blog</span>
</a>
</li>
</ul>
</nav>
获取元素最后一个类的代码是这样的:
var lastClass = j('.menu-uber-main-menu-container > .menu > .menu-item > a > .fa').attr('class').split(' ').pop();
如何关联地传输每个 li 元素的最后一个类?
【问题讨论】:
-
获取源中的最后一个类是不是有点脆弱?
-
你试过
.children()或.parent()和.addClass()吗? -
元素上没有“最后一个类”这样的东西。它们以任意顺序存储,除非您想开始将
class属性值作为字符串进行破解 - 这不是一个好主意。 -
我同意@Rory McCrossan 的观点。如果我是你,我会在你抓取的类中搜索术语“菜单”,而不是只抓取元素的最后一个类,因为我认为这不会是一致的。
标签: javascript jquery html css wordpress