如何使用.append()和appendTo()将元素添加到我们想要的位置
How to add elements where we want with .append() and appendTo()?
当我点击链接时,我试图添加一个字段集。
我希望这个新元素在我的跨度之前,因为此时此刻,元素是在后面添加的。
<fieldset id="fieldsetOptions">
<legend>Options</legend>
<span>Add an option
<a onclick="addOption()" href="javascript:return false;">
<img src="./images/icons/add.png">
</a>
</span>
<fieldset><!--this is the new fieldset, but not at the good place--></fieldset>
</fieldset>
所以,你明白:好的结果应该是这个
<fieldset id="fieldsetOptions">
<legend>Options</legend>
<fieldset><!--this is the new fieldset, at the good place--></fieldset>
<span>Add an option
<a onclick="addOption()" href="javascript:return false;">
<img src="./images/icons/add.png">
</a>
</span>
</fieldset>
为了添加新的字段集,我这样做:
<script type="text/javascript">
function addOption(){
$("#fieldsetOptions").append("<fieldset></fieldset>");
}
</script>
可以添加到我们想要的位置吗?
$("#fieldsetOptions legend").after("<fieldset></fieldset>");
这就行了。它使用after
在#fieldsetOptions
的legend
子元素之后插入新元素。
这将在span之前插入新元素,但如果您计划在未来有更多的span,则应至少为span提供一个类,这样您就可以只针对您想要的span。
<script type="text/javascript">
function addOption(){
$("#fieldsetOptions > span").before("<fieldset></fieldset>");
}
</script>
http://api.jquery.com/before/
prepend也是一个函数,您有before和after方法。如果你想在元素之间使用它,那么prepend和append都不起作用,after和before都可以。我不会用onclick,但用这个:
$("#fieldsetOptions > span > a").click(function() {
$(this).closest('span').before("<fieldset></fieldset>");
});
在ready函数中(给锚点一个特定的类会更好(。
相关文章:
- jquery试图按名称获取按钮位置
- 我可以获得相对于被点击元素的确切点击位置吗
- 谷歌地图固定位置覆盖
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 循环比赛位置算法
- es6 相当于下划线查找位置
- 我如何创建一个动态地图来显示我们公司的位置
- 当滚动到指定的位置时,启动功能,如何重置它并重新启动,如果我们再次回到这个位置
- 当我们单击所有位置时,下拉菜单关闭
- 我们将 npm 安装的节点模块放在 Meteor 项目中的什么位置
- 我们如何使用类名通过它在 Jquery 中的位置获取第二个元素
- 如果我们单击页面上的任何位置,气泡应该关闭
- 当我们滚动&Div来到Windows中间位置
- 我们可以通过IP地址准确的得到任何设备的位置吗?如果是,哪个是最好的API
- 我们如何获得访问者的位置使用谷歌API
- 当我们从一个弹出窗口移动到另一个弹出窗口时,滚动条的位置不会保留
- 使用history.js,当我们点击后退按钮时,回到相同的滚动位置
- 我们如何修剪文本从任意开始到任意结束位置
- 如何使用.append()和appendTo()将元素添加到我们想要的位置
- 如何知道mousedown事件是否发生在画布中我们想要的位置