我在使用 jquery 将块包裹在标签周围时遇到了一些问题,我认为我遇到的最大问题是 jquery 选择器,但我对 jquery 很陌生,所以我不确定问题到底出在哪里。
我有以下html
<section class="flexslider shop">
<ul class="flex-direction-nav">
<li>
<a href="#" class="flex-prev">Previous</a>
</li>
<li>
<a href="#" class="flex-next">Next</a>
</li>
</ul>
</section>
我需要使用 jquery 在每个标签周围包装一个标签,并在两个现有标签之间插入一个新的 li 元素,jquery 进行修改后的最终结果应该如下:
<section class="flexslider shop">
<ul class="flex-direction-nav">
<li>
<i class="icon-circle-arrow-left">
<a href="#" class="flex-prev">Previous</a>
</i>
</li>
<li>
<i class="icon-zoom-in">
<a href="#" id="nav-zoom-in"></a>
</i>
</li>
<li>
<i class="icon-circle-arrow-right">
<a href="#" class="flex-next">Next</a>
</i>
</li>
</ul>
</section>
非常感谢您提供的任何帮助。我搜索了几个小时,但无法弄清楚如何让这种复杂性的 jquery 工作。此外,所有这些都需要在页面完全加载后发生,但除此之外没有其他触发器。
更新
我现在在你们中的一些人的帮助下让它半工作,这是我到目前为止所拥有的,它应该可以工作,问题是 jquery 中的选择器不够具体,我无法修改 html是由一个 jquery 插件生成的,所以我试图通过使用这个你们都在帮助我的小脚本来修改那个插件,到目前为止我所拥有的如下:
有问题的脚本生成以下 html:
<ul class="flex-direction-nav">
<li>
<a href="#" class="flex-prev">Previous</a>
</li>
<li>
<a href="#" class="flex-next">Next</a>
</li>
</ul>
我添加了一个带有类的标签,以便通过 jquery 定位它,所以 html 现在看起来如下:
<section class="flexslider shop">
<ul class="flex-direction-nav">
<li>
<a href="#" class="flex-prev">Previous</a>
</li>
<li>
<a href="#" class="flex-next">Next</a>
</li>
</ul>
</section>
我现在使用的 jquery 如下,它根据需要执行,但不够具体,因为我在页面上有多个滑块。
$(window).load(function() {
$(".flex-direction-nav li:last").before('<li><i class="icon-zoom-in"><a href="#" id="nav-zoom-in"></a></i></li>');
$(".flex-prev").wrap('<i class="icon-circle-arrow-left" />');
$(".flex-next").wrap('<i class="icon-circle-arrow-right" />');
});
这现在正在生成正确的 html 输出并按预期工作,但是我需要它专门针对 section class="flexslider shop" 内部的 ul class="flex-direction-nav" 因为还有更多页面上超过一个 ul class="flex-direction-nav"