【发布时间】:2012-07-02 12:42:56
【问题描述】:
这应该不是那么困难,但由于某种原因我遇到了麻烦。
我想从缓存的 ul 中删除第一个 li:
var $selection = jQuery('.list').filter('.exclude');
.
<ul class="list">
<li class="exclude" >Do not Include</li>
<li>2</li>
<li>3</li>
</ul>
如何在没有第一个子 li 元素的情况下捕获 整个 ul 对象?
谢谢
编辑: 我正在寻找的结果 jquery 对象是:
<ul class="list">
<li>2</li>
<li>3</li>
</ul>
不是这个:
<li>2</li>
<li>3</li>
【问题讨论】:
-
“捕获整个 ul”是什么意思?您是否尝试将
$selection创建为仅包含不具有“排除”类的 li 元素的 jQuery 对象?还是 jQuery 对象也应该包含 ul 元素本身? -
带有 Ul 元素本身的 Jquery 对象。我希望它返回一个不包括特定子 LI 的 UL。换句话说,我不希望它只返回一个孤立的 LI 元素。希望这有意义吗?
-
实际上,不,这不太合理。如果你说
jQuery(".list"),你会得到一个 jQuery 对象,其中只有一个元素,即 ul 元素 - 请注意,这是对实际 DOM 元素的 reference,所以你仍然可以使用遍历方法获取关联的 li 元素,但 li 元素都不在 jQuery 对象本身中。如果您希望 jQuery 对象包含 ul 元素和 lis(“排除”元素除外),您可以说jQuery(".list,.list li:not(.exclude)")或jQuery(".list").add(".list li:not(.exclude)")。 -
刚刚尝试了您建议的解决方案.. 他们都返回带有 li 元素(实际上不包括 .exclude)的原始 ul 附加 在 ul 之外 ..不是结果 i'我正在寻找..我要稍微编辑一下我的问题..我现在看到我在解释我想要什么方面做得很差..我很抱歉。
-
您是否尝试通过实际删除“排除”元素来更新页面上显示的内容?或者复制原始列表并将副本附加到页面,以便您一次看到两个列表(一个包含三个 li 元素,一个包含两个)?我仍然感到困惑,因为您所描述的“jQuery 对象”实际上更像是一个 html 片段...
标签: jquery html jquery-selectors