gpt4 book ai didi

jQuery:为列表的每个 .next() 元素添加类

转载 作者:太空宇宙 更新时间:2023-11-04 15:25:17 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery 为每个 Span 元素添加不同的类,使用 .next()这是javascript:

<script type="text/javascript">

$(function() {
$("a", "div.top_menu").addClass("ui-icons-custom");

$("span.ui-icon:first", "ul.top_menu_list").addClass("ui-icon-pencil")
.next().addClass("ui-icon-comment")
.next().addClass("ui-icon-key");
});

</script>

这是我试图让它工作的 HTML:

<div class="top_menu ui-state-default-custom">
<ul class="ui-widget top_menu_list">

<li>
<span style="float: left;" class="ui-icon-text-custom"><span style="float: left;" class="ui-icon"></span>
<a href="test">Registrarse</a>
</span>
</li>
<li>
<span style="float: left;" class="ui-icon-text-custom"><span style="float: left;" class="ui-icon"></span>
<a href="test1">Agregar un anuncio</a>
</span>
</li>
<li>
<span style="float: left;" class="ui-icon-text-custom"><span style="float: left;" class="ui-icon"></span>
<a href="test2">Ingresar (Login)</a>
</span>
</li>
</ul>
</div>

因此它应该使用带有 .ui-icon 类的第一个“span”元素并添加一个类,然后从列表中获取下一个元素并添加其他类。

最佳答案

.next() 查找您选择的元素的下一个直接兄弟。在你的例子中,你选择的跨度有一个 anchor 作为它的下一个兄弟,然后什么都没有。您必须使用 parent("li") 返回到父 li,使用 next() 到达列表中的下一个 li,然后使用 find("span span") 到达有问题的跨度.

选择所有跨度然后单独编辑每个跨度可能更容易且可读性更高,例如:

$(function() {
$("a", "div.top_menu").addClass("ui-icons-custom");

var $spans = $("span.ui-icon", "ul.top_menu_list");

// end() reverts us back to the selector before each eq()
// you can just make this three separate statements if you like
$spans.eq(0).addClass("ui-icon-pencil").end()
.eq(1).addClass("ui-icon-comment").end()
.eq(2).addClass("ui-icon-key");
});

呃,出于好奇,是什么阻止您直接将类添加到元素而不是使用 jQuery 来完成?

关于jQuery:为列表的每个 .next() 元素添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3240423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com