Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 使用jQuery在DOM中移动元素_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 使用jQuery在DOM中移动元素

Javascript 使用jQuery在DOM中移动元素,javascript,jquery,dom,Javascript,Jquery,Dom,如果我有以下结构: <div id="elements"> <div data-id="5"></div> <div data-id="3"></div> <div data-id="1"></div> <div data-id="4"></div> <div data-id="0"></div> </div>

如果我有以下结构:

<div id="elements">
    <div data-id="5"></div>
    <div data-id="3"></div>
    <div data-id="1"></div>
    <div data-id="4"></div>
    <div data-id="0"></div>
</div>

我不知道如何编写函数,我可以说“数据id为4的元素位于位置1”。所以在我得到结果之后:

<div id="elements">
    <div data-id="5"></div>
    <div data-id="4"></div>
    <div data-id="3"></div>
    <div data-id="1"></div>
    <div data-id="0"></div>
</div>


是否可以使用jQuery?

如果要将元素移动到特定位置,可以使用
.eq(index)
将元素移动到所需位置,然后使用
.insertBefore($element)
放置到位

var$elements=$('#elements').children(),
$elementAt1=$elements.eq(1);
$elements.filter('[dataid=4]').insertBefore($elementAt1)
#elements>div:before{content:attr(数据id)}

在位置1移动
div[data id=“4”]

$('div[data-id="4"]').insertAfter('div[data-id="5"]');

如果您的div[data id=“5”]是第一个div,那么前面的代码无论如何都可以工作。。如果没有,请使用此代码

$('div[data-id="4"]').insertAfter('#elements > div[data-id]:eq(0)');

欢迎来到Stack Overflow,与其他论坛不同,在其他论坛中,您可以要求为自己编写代码,最好在这里寻求调试方面的帮助。请发一封信。非常感谢。如果
div[data id=“5”]
不是第一个孩子怎么办?唯一可以确定的是,带有
[data id=“4”]
的代码必须位于
1
@DJDavid98的位置,这是关于假设我们都在一个问题中看到的代码是否存在的问题。。我的代码与所发布的有问题的代码一起工作。。那么这有什么不对呢??