- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 JavaScript 函数 insertAfter
和 insertBefore
,但是我正在尝试 insertAfter
和 insertBefore
> 两个元素。
例如,考虑以下 HTML:
<table>
<tbody>
<tr>
<td>
Item 1
</td>
<td>
<div class="moveUpDown">
<div class="up">
</div>
<div class="down">
</div>
<div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr>
<td>
1
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
Item 2
</td>
<td>
<div class="moveUpDown">
<div class="up">
</div>
<div class="down">
</div>
<div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr>
<td>
1
</td>
</tr>
</table>
</td>
</tr>
</table>
然后我有这个 JavaScript 代码片段:
var row = $(this).parents("tr:first");
if ($(this).is(".up")) {
row.insertBefore(row.prev());
} else {
row.insertAfter(row.next());
}
基本上,当调用 Up
类时,上一行会向上移动,而当调用 Down
类时,当前行会向下移动一行。
我想要做的是将行向上/向下移动 2 行...意思是像 row.prev().prev()
或 row.next() 。 next()
但这似乎不起作用。
有没有简单的方法可以解决这个问题?
非常感谢任何帮助/建议。
最佳答案
向上
row.prev().prev().before(row)
往下走
row.next().next().after(row)
显然 tr 必须存在 prev/next 必须存在
注意,您将行缓存为第一个 tr 元素,因此每次第一个 tr 元素更改时,行都会更改
监听事件
$("table").on("click","tr > td > span.moveup", function() {
var row = $(this).parent().parent();
if (row.prev().prev().get(0)) row.prev().prev().before(row)
})
关于JavaScript insertAfter 和 insertBefore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14364433/
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在使用此代码尝试在另一个元素之前添加新内容: var form = document.getElementsByClassName('commentresponse')[0], new
在此代码中: function comrespond(){ function addresform(){ var resid = this.getAttribute('id'),
我还创建了一个jsfiddle来演示我的问题。 我需要在标题之前有时间。 Title 1 Speaker 1 Time 1
使用 jquery 插入多个不同类的正确语法是什么。如果我想在 #container 之前插入 .one .two 和 . Three 该怎么办。 $(".one").insertBefore($('
我正在 jQuery 中执行 insertBefore $.post('/blah', { blah : "some data" }, function(response) { $(respon
如果索引大于实际行数,我不会追加任何内容? var elm = $('tr', tbl).eq(index); if(elm){ row.insertBefore(elm); } else{
我有一个小对象,它必须将新行附加到表中。在大多数情况下它工作正常,但如果某些行中有一个表(在“根”表中),则该对象不会附加到正确的表格!? 我一直在进行一些调试,并找到了全部出错的行。如果设置了 DE
好吧,我一直在研究我的第一个单链表项目,但遇到了困难。我试图实现的算法之一是在用户指定的节点之前插入一个节点。我遇到的问题是,当插入节点时,它被放置在正确的位置,但它也会删除它之前的所有节点。如果我的
我在 JS 中使用 insertbefore() 函数: $('').insertBefore("div.col-lg-9.col-md-9.col-sm-9.col-xs-12"); 但是,当“di
我有一个元素数组,我想在遍历数组时对每个元素使用 inserBefore。它应该在数组中的每个元素之后添加要插入的元素,但它只将它添加到数组中的最后一个元素。我认为这是一个闭包问题,但即使在使用闭包之
https://jsfiddle.net/072uwd1k/ 我正在尝试更改要放置在文本上方的数字位置,使用 insertBefore 就是这样做的,但它会复制其中的 div 数量。
这个问题在这里已经有了答案: Uncaught NotFoundError: Failed to execute 'insertBefore' on 'Node': The node before
在this示例说明 insertBefore() 方法的第二个参数是可选的: The child node you want to insert the new node before. When n
我正在使用 Javassist 将 logback 记录器注入(inject) jar。 在记录器的模式中,我记录行号以及其他细节,如时间、线程、文件等。 使用 ctMethod.insertAfte
我有这个片段,如果屏幕宽度低于 767px,它会将辅助包装器的位置切换到主包装器上方。这很有效,但它只适用于刷新。如何让它在屏幕宽度改变时自动工作? 谢谢!这里完全是新手。 jQuery(docume
我有表,我需要按可用索引对列进行排序(仅 VanilaJS 而不是 jQuery)。我怎样才能做到呢?请参阅示例http://jsfiddle.net/mcqueen/AXF2Y/3/ . 最佳答案
问题 我有几行简单的代码,但无法理解为什么 .insertBefore 每隔四次点击就不起作用。 HTML 1 2 3 change Javascript var but
试图使我在 this 上的回答更加灵活问题: function invertDivs(parentDiv) { var first = document.getElementById(parent
我制作了一个简单的脚本,允许用户使用向上和向下按钮对 div 进行排序。 jsFiddle:http://jsfiddle.net/dZ6rC/5/ 不幸的是,我尝试在鼠标单击时设置移动动画并不会导致
我是一名优秀的程序员,十分优秀!