如何在不深入结构的情况下获得特定元素(在这种情况下为PLACEHOLDER元素)的兄弟姐妹? 我试过$(“#PLACEHOLDER”)。兄弟姐妹(),但这也让我得到了C和D li元素。我需要一种方法来确定那个级别的兄弟姐妹(这里是A,B和E)。
<section id="root">
<ol class="sortable">
<li id="A"><div>A</div></li>
<li id="B"><div>B</div>
<ol>
<li id="C"><div>C</div></li>
<li id="D"><div>D</div></li>
</ol>
</li>
<li id="E"><div>E</div></li>
<li id="PLACEHOLDER"><div>PLACEHOLDER</div></li>
</ol>
</section>
答案 0 :(得分:0)
如果您选择$('#PLACEHOLDER').siblings().andSelf()
,则它应该仅为您提供#A
,#B
和#E
以及#PLACEHOLDER
。
您的siblings()
来电可能会让您获得#C
和#D
元素的原因是因为您的基本选择器可能是.sortable li
时.sortable > li
}}
答案 1 :(得分:0)
$('#PLACEHOLDER').siblings()
效果很好,只得到A,B和E,因为Alex指出它只是父母的背景颜色看看这里。
http://jsfiddle.net/d4udts/W9cCE/1/
如果要在占位符上方选择一个兄弟,可以执行此操作
$('#PLACEHOLDER').prev();
http://jsfiddle.net/d4udts/W9cCE/2/
它完全给你以前的兄弟姐妹,如果你想要所有以前的兄弟姐妹,你可以使用prevAll()
答案 2 :(得分:0)
试试这个。
http://jsfiddle.net/5aFHQ/11/
.text()
函数返回选择器内的所有文本,因此您的代码也返回C和D.获取选择器的children元素,然后调用.text()