javascript - jquery append() 在字符串位置

标签 javascript jquery

<div contenteditable="true">
    abcde<img src="abc.jp" />fg
</div>

$('div').append('<img src="abc.jpg" />'); //this will append img at end of text

我尝试将图像添加到 div 的位置 6

有什么方法可以在适当的位置附加图像吗?

最佳答案

获取 div 的文本,在指定位置将其拆分并重新连接。然后覆盖div的html:

var a = $.trim($('div').text());
var b = '<img src="https://jsfiddle.net/img/logo.png" />';
var position = 5;
var output = a.substr(0, position) + b + a.substr(position);
$('div').html(output);

Example


注释

使用 .substr()似乎比 .splice

我使用 $.trim() 来避免由于空格或换行符导致的错误位置计数

位置设置为 5 因为 .substr()0

开始计数

关于javascript - jquery append() 在字符串位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40871073/

相关文章:

javascript - 有没有办法用 javascript 从字符串创建函数?

javascript - Cookie 被设置到不同的域(Node.js、Angular)

javascript - 拉拉维尔 5.2 : How to post and delete data Using Ajax?

php - JavaScript 确认消息出错

javascript - jQuery:无冲突

javascript - 将数据从 View 传递到表达

javascript - 当我尝试取消并重新启动时,Angular js $timeout 无法正常工作

javascript - 通过使用严重的 Lat/lon Array - Mapbox js 为图标设置动画

javascript - jquery 2 div child 比较

javascript - window.close() 不工作(最初通过 JS/JQuery 打开)