Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何选择某个元素前后的内容_Javascript_Jquery - Fatal编程技术网

Javascript 如何选择某个元素前后的内容

Javascript 如何选择某个元素前后的内容,javascript,jquery,Javascript,Jquery,我正在尝试选择具有某些条件的第一个元素(例如,.some\u class) 在某个元素之后。我不知道元素之间的关系,它们可能是兄弟姐妹,表兄弟姐妹,不管怎样,我只知道它们都在这个容器中 HTML代码: <div id="container"> <div class="subcontainer"> <div id="before" class="some_class"> </div> </div&

我正在尝试选择具有某些条件的第一个元素(例如,
.some\u class
) 在某个元素之后。我不知道元素之间的关系,它们可能是兄弟姐妹,表兄弟姐妹,不管怎样,我只知道它们都在这个容器中

HTML代码:

<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
)的元素,我想找到紧靠所述元素之前(在
#之前
div)或之后(在
#之后
div)的“some_class”元素。

您可以这样做:

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

(打开控制台)

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

$( "#this" ).siblings().css( "background-color", "red" );
对于下一个元素

$( "#this" ).next().css( "background-color", "red" );
对于前面的元素

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

尝试使用$('.some_class')。after()或$('.some_class')。before()您不能使用纯css选择元素before,但可以使用.class+。element{}选择元素before。当然,我会编辑问题以使其更清楚。我想我理解。我认为这不应该被否决。var元素=$(“#容器”).find(“.some_类”);“我不知道元素之间的关系,它们可能是兄弟姐妹、表兄弟姐妹,不管怎样,我只知道它们都在这个容器中。”是的,这是可行的。为了找到一个纯粹的jquery解决方案,我太投入了,以至于我没有想到使用数组函数。谢谢你知道我的意思。。。你会怎么称呼他们?另外,我只使用了所有[index-1]和所有[index+1],因为我特别想要下一个和上一个元素。@Bogdan我不知道您是否知道
index
slice
是jQuery(类似数组的)函数。