Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript innerHTML中的字符计数_Javascript_Html - Fatal编程技术网

Javascript innerHTML中的字符计数

Javascript innerHTML中的字符计数,javascript,html,Javascript,Html,在html中,如何计算innerHTML中显示的真实字符数 例如,在Hi中,字符的#应该是2,而不是19 我尝试了两种不起作用的方法: str.length-这将包括字符 getElementById-这将包括字符: 我做了如下尝试: elem_output = document.getElementById("example_id"); elem_output.innerText.length;//1st elem_output.textContent.length;//2nd 我不知道哪

在html中,如何计算innerHTML中显示的真实字符数

例如,在
Hi
中,字符的#应该是2,而不是19

我尝试了两种不起作用的方法:

  • str.length
    -这将包括
    字符
  • getElementById
    -这将包括
    字符:
  • 我做了如下尝试:

    elem_output = document.getElementById("example_id"); 
    elem_output.innerText.length;//1st
    elem_output.textContent.length;//2nd
    

    我不知道哪个元素在代码中有
    #example\u id
    ,但是
    元素.innerText.length
    应该可以工作

    编辑:其他答案建议使用
    textContent
    而不是
    innerText
    。我认为,根据OP的实际需要,其中一种(甚至是出现在问题标题中的
    innerHTML
    )可能是合适的。因此,我建议仔细阅读文档中这些属性之间的差异:

    编辑2:OP的问题是在innerHTML中显示真实字符,因此我选择使用
    innerText
    ,因为:

    innerText
    知道样式,不会返回隐藏元素的文本,而
    textContent

    var tag=document.getElementById('test');
    console.log(tag.innerText.length)
    您好
    您要使用的

    这是最简单、最优雅的解决方案。

    var html='div1div2';
    控制台日志(
    html.replace(//gm',).length
    );试试这个

    var p=document.createElement(“p”)
    p、 innerHTML=“
    alert(p.querySelector(“strong”).innerHTML.length)
    我想文本中可能有很多不同的html标记,所以有三种方法

    如果需要使用regex过滤特定的标记,那么innerHTML将是获得所需内容的方法

    var exampleid=document.getElementById('example_id').innerHTML;
    exampleid=exampleid.replace(/]strong>/g,“”);
    警报(例如id.length+characters.)
    
    hi,我是粗体,我的标签被忽略,而我是斜体,但我的标签被计数。
    这对于
    hi

    document.getElementsByTagName("strong").innerText.length;
    

    太好了,谢谢。这管用!我不应该使用
    elem_output.innerText.length | elem_output.textContent.length只有
    元素输出.innerText.length
    部分就足够了。确定
    是运算符,我对您的代码没有任何意义…当使用
    文档时,哈希符号
    不应该出现在您的ID名称中。getElementById()
    getElementsByTagName()
    返回节点列表,而不是单个节点element@charlietfl是的,你是ri8,我以为只有一个
    strong
    element绝对没有这个必要。
    innerText
    textContent
    都会获取节点及其子节点的渲染文本。检查这个@JordiNebot的控制台谢谢你的评论,我更新了我的答案。
    document.getElementsByTagName("strong").innerText.length;