jquery .删除整个 li 或 table 元素后
jquery .after deleting entire li or table element
我看到使用 jquery .after 将div 插入 li 时出现问题。 从本质上讲,该操作是删除整个 li...我不知道为什么。我还在不同的表元素上使用 .after 看到了这种问题,这对我来说更有意义,因为我可以看到这会破坏表格。
看看这个jsfiddle:http://jsfiddle.net/XrUtq/
我必须这样做的原因是因为我必须想出一种通用方法,以便能够在 dom 中尽可能将div 放在另一个我无法控制的元素(可以是任何类型的元素)上。然后,div 将相对/绝对地放置在页面上,以覆盖它所追求的元素。我这样做是因为我们需要一个解决方案,而不是将div 附加到正文中,因为如果视图发生变化,那么附加的元素将保留在页面上,而不是随着它应该包含的内容而消失。
我希望我已经把问题说得足够清楚了。我尝试过这样的方法:
if (nodeName === 'td' || nodeName === 'tr' || nodeName === 'th' || nodeName === 'tbody'){
popover.appendTo(editable.closest(':visible:not(tr):not(td):not(table):not(tbody)'));
}
else if(editable.is(':visible')){
popover.after(editable);
}
else{
$('body').append(popover);
}
但这并不能解释李目前的问题。
感谢您的帮助/建议!
您使用的语法略有不正确(有点向后),请改用这个:
更改此设置:
$('<div>Blabablabla</div>').after($('.editable'));
对此:
$('.editable').after('<div>Blabablabla</div>');
工作固定示例
jQuery .after(CONTENT)
在您选择的元素之后插入提供的内容。after
方法应附加到 jQuery 选择器中。在代码中,您将选择器放在 after
方法中。
我认为您打算使用.insertAfter()
它本来可以与您的原始语法一起使用。
http://jsfiddle.net/XrUtq/1/
$('li').click(function(){
$('.editable').after('<div>Blabablabla</div>');
});
jQuery .after()
在匹配集(.editable
项)中的每个元素之后插入一个目标元素(div)。您使用的语法是用于jQuery .insertAfter()
,这是执行类似操作的替代方法。
$('li').click(function(){
$('<div>Blabablabla</div>').insertAfter('.editable');
});
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- jquery .删除整个 li 或 table 元素后
- 溢出:删除元素时,带有子 TABLE 滚动条的 DIV 上的自动滚动条会保留
- 如果TABLE元素有边框(IE与Chrome),则偏移量不同
- JQuery .addclass to table
查找文本的元素 - jQuery toggle table元素:use "display: block"而不是"