javascript - HTML DOM 获取具有 ID 的段落中字体样式的长度

标签 javascript html dom

这就是我所做的

function myFunction() {
var x = document.links.length;
var y = document.images.length;
alert("Links = " + x + " , " + "Images = " + y);
}

尝试获取我网站中不同内容的长度...

到目前为止,我已经找到了如何获取链接和图像的长度,但我找不到任何有关字体样式的答案...

我只找到这个

document.getElementById("myP").style.fontStyle = "italic";

在 W3schools 中,但仅用于将文本更改为斜体,而不是像我过去半小时想要的那样获得段落中斜体的长度......

例如

<p id="italic"> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
<em>Donec at erat semper,</em> tempor magna sed, aliquet lorem.
Morbi iaculis libero sed <em>elementum</em> fermentum. <p>

当然还有更多不同ID的段落

最佳答案

如果您只想查找 <em> 的编号整个文档中的元素:

var italicisedElements = document.getElementsByTagName('em').length;

var italicisedElements = document.getElementsByTagName('em').length;

document.getElementById('result').innerHTML = 'Number of &lt;em&gt; elements: ' + italicisedElements;
<p id="italic">Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  <em>Donec at erat semper,</em> tempor magna sed, aliquet lorem. Morbi iaculis libero sed <em>elementum</em> fermentum.
</p>

<div id="result"></div>

查找<em>的数量给定 id 的元素内的元素,如id="italic" :

var italicisedElements = document.querySelectorAll('#italic em').length;

var italicisedElements = document.querySelectorAll('#italic em').length;

document.getElementById('result').innerHTML = 'Number of &lt;em&gt; elements: ' + italicisedElements;
<p id="italic">Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  <em>Donec at erat semper,</em> tempor magna sed, aliquet lorem. Morbi iaculis libero sed <em>elementum</em> fermentum.
</p>

<div id="result"></div>

查找 document 中的所有元素其 CSS(无论是内联,使用 style 属性,还是通过其他地方的 CSS 设置)将文本样式设置为 italic :

var all = Array.from( document.querySelectorAll('*') ),
    italicisedElements = all.filter(function(node){
      return window.getComputedStyle(node).fontStyle === 'italic';
    }).length;

console.log(italicisedElements);

var all = Array.from(document.querySelectorAll('*')),
  italicisedElements = all.filter(function(node) {
    return window.getComputedStyle(node).fontStyle === 'italic';
  }).length;

document.getElementById('result').innerHTML = 'Number of &lt;em&gt; elements: ' + italicisedElements;
<p id="italic">Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  <em>Donec at erat semper,</em> tempor magna sed, aliquet lorem. Morbi iaculis libero sed <em>elementum</em> fermentum.
</p>

<div id="result"></div>

关于javascript - HTML DOM 获取具有 ID 的段落中字体样式的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37378845/

相关文章:

javascript - 在 Chrome 中滚动到 View 中时 CSS 动画不会运行。类未添加到元素中

java - 如何使用 getter 的返回值,使用反射?

javascript - 添加 2 层深度的原型(prototype)链

javascript - 哪种 bootstrap gem 更适合使用 javascript 和 css 的 Rails 3.2.12 应用程序?

android - 下拉菜单在移动设备上不起作用

javascript - 粘性侧边栏停止在页脚上方 30 像素?

javascript - 如何创建类似于Github的文件管理器的动画?

javascript - 滚动到顶部功能不起作用(显示为未定义)

dom - 将流与 document.querySelector 一起使用

javascript - 使用 Javascript 从 HTML 中提取 URL 并在函数中使用它