我已经在google上搜索了一个小时,并尝试了一个错误,试图想出一个jquery选择器来访问一个可扩展树中的几个标签元素之一。
<span id="ppown" class="treeTitleSpan" role="leaf">PPO</span>
<span class="treeCheckBoxLabel">
<label class='nodeCheckIcon' />
或者像这样:
<span id="ppw" class="treeTitleSpan" role="leaf">Other</span>
<span class="handle closed"></span>
<span class="treeCheckBoxLabel">
<label class='nodeCheckIcon' />
在每种情况下,我都是从. treeTitleSpan跨度开始的(在单击处理程序中)。我知道我可以使用以下命令访问它:
$(this).next().next().children('.nodeCheckIcon');
另一个是:
$(this).next().children('.nodeCheckIcon');
但我想要一个单一的选择器,将工作的两种情况下,'find'似乎不工作:
$(this).find('.nodeCheckIcon:first')
任何帮助都将不胜感激。
里克
4条答案
按热度按时间5sxhfpxr1#
或者,如果您有多个标签,例如:
你只想要第一个:
7d7tgy0s2#
不如这样:
使用
:first
可以确保您最多只选择一个.treeCheckBoxLabel
,这可能是一个问题,也可能不是一个问题,具体取决于HTML的其余部分。dl5txlt93#
替代其他职位(许多方法来剥皮猫:))
ehxuflar4#
由于
this
指向span
元素,而span
元素是label
的父元素的兄弟元素,因此$(this).find('.nodeCheckIcon:first')
将无法工作。我不知道您的完整标记结构,但如果您有一个用于此span元素的 Package 容器,则可以尝试以下操作