我想得到 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/