0

编辑:对不起,我改写了我的问题

JQuery 新手,需要一些帮助

我想迭代所有 li 元素并删除其中一个 li 中的内部 span 元素。

我不知道跨度在哪里,因为 li 是动态构建的,我不能指望 id 选择器

    <ol id="selectable" class="ui-selectable">
        <li id="1_1_1" class="ui-widget-content ui-selectee">1.1.1</li>
        <li id="1_1_2" class="ui-widget-content ui-selectee">1.1.2</li>
        <li id="1_1_3" class="ui-widget-content ui-selectee ui-selected">1.1.3<span class="ui-icon ui-icon-check"
            style="float: right; margin: 2px 7px 0 0;"></span></li>
        <li id="1_1_4" class="ui-widget-content ui-selectee">1.1.4</li>
        <li id="1_1_5" class="ui-widget-content ui-selectee">1.1.5</li>
    </ol>

如何才能做到这一点?

4

2 回答 2

2

jQuery 通常在内部进行迭代:

$("#selectable li").toggleClass(...)

您也可以使用.eachto 进行迭代,因为某些方法不会迭代,例如.htmland .text(不幸的是,我不知道该列表,尽管它会很有帮助)。

于 2012-10-09T14:25:26.793 回答
1

编辑:要删除跨度,只需执行以下操作:

$('#selectable li span').remove();

请注意,它将删除所有span' ,li但从您的示例中,只有一个。

试试toggleClassaddClassremoveClass

$('#selectable li').addClass('foo');
$('#selectable li').removeClass('foo');
$('#selectable li').toggleClass('foo');

这些只是更改li与选择器匹配的 all 的类的几种方法。

于 2012-10-09T14:25:38.683 回答