javascript - 获取没有img标签的div的长度

标签 javascript jquery html

我想得到 div 的长度在下面的代码中提到:

<div id="txt">Hello <img src="..."> <b>Emoji</b> </div>

我用这些 jquery代码(所有字符的计数,包括 img 标签):

var mylength= $("#txt").html().length;

该图像是必须计数为 2 的表情符号。因此,而不是每个 img ,计数必须是 2 而不是实际长度。我该怎么做?

注意:它必须按原样计算其他标签(例如:<b>A</b> 是 8)。只有img标签必须算2。

jsfiddle:https://jsfiddle.net/rpknphym/1/

最佳答案

试试这个。去掉img标签,在剩下的html长度中加上img标签的长度

var copy= $("#txt").clone();
var count = $(copy).find("img").length;
$(copy).find("img").remove();
// it must be 21 = 12 (text chars) + 7 (b tag) + 2 (img tag)
console.log(copy.html().length + count * 2); // img tag counts for 2
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="txt">Hello<img src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.1.4/assets/png/1f61b.png"> <b>Emoji</b> </div>

关于javascript - 获取没有img标签的div的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41596564/

相关文章:

javascript - 如何使用 JavaScript 清除 HTML 文件输入?

JavaScript自动转换一些特殊字符

javascript - 如何实现滚动内容小部件

javascript - 将复杂的输入名称转换为数组

c# - 从 C# .NET 流式传输时从 HTML5 视频获取导航功能

javascript - 为什么 Javascript forEach 不允许使用break或return提前终止

javascript - 如何在React Native中与父组件同时重置子类组件的状态?

javascript - 等到 HTML5 视频播放完毕

javascript - 在javascript中创建的Audio()对象上显示控件

javascript - 使用 excel.js 模块 + Node 在列标题前添加行