如何在某个元素之前和之后选择一些东西

时间:2013-12-16 13:16:17

标签: javascript jquery

我正在尝试选择具有某些条件的第一个元素(例如,.some_class) 这是在某个元素之后。我不知道元素之间的关系,他们可能是兄弟姐妹,表兄弟,无论如何,我知道他们都在这个#container中。

HTML code:

<div id="container">
    <div class="subcontainer">
        <div id="before" class="some_class">
        </div>
    </div>
    <div id="this" class="some_class">
    <div>
    <div class="subcontainer">
        <div class="subcontainer">
            <div id="after" class="some_class">
            </div>
        </div>
    </div>
...
</div>

给定一个带有“some_class”类的元素(在本例中为#this)我希望找到紧接在之前的{some_class>元素(#before div)或之后({{ 1}} div)表示元素。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

var all = $('#container .some_class');
var before = all.slice(0, all.index(yourElement));
var after = all.slice(all.index(yourElement)+1);

Demonstration(打开控制台)

答案 1 :(得分:0)

对于“some_class”元素周围的所有节点,尝试

$( "#this" ).siblings().css( "background-color", "red" );

对于下一个元素,

$( "#this" ).next().css( "background-color", "red" );

以前的元素

$( "#this" ).prev().css( "background", "yellow" );