![](/img/trans.png)
[英]How to determine font-weight bold without using getComputedStyle
[英]Use getComputedStyle to identify the CSS font-weight for all P tags
客观的
原因
问题
到目前为止的代码
var newClass = document.getElementsByTagName('p')
var length = newClass.length;
for (var i = 0; i < length; i++) {
newClass[i].className = newClass[i].className + "font--weight"
}
let pAll = document.querySelector('p.font--weight');
let calcStyles = window.getComputedStyle(pAll);
pAll.textContent = 'My computed font-weight is ' + calcStyles.getPropertyValue('font-weight');
pAll.innerHTML = '<span>' + pAll.textContent + '</span>';
使用el.querySelectorAll()
获取nodeList , el.querySelector()
将仅返回选择器的第一个节点。 然后你只需要使用getComputedStyle(selector).getPropertyValue('style')
来获取计算的样式。 从那里只是将字符串连接在一起并将innerHTML或textContent设置为字符串。
拥有nodeList后,通过循环运行元素以获取每个元素。
let pTagClass = document.querySelectorAll('.check-weight') function getFontWeight(els) { els.forEach(weight => { // weight now represents each individual node in // our nodeList that was passed into the function let compStyle = getComputedStyle(weight).getPropertyValue('font-weight'); let str = `<span class="bookmark">font-weight is: ${compStyle},</span>` let currentText = weight.textContent weight.innerHTML = `${str} ${currentText}` }) } getFontWeight(pTagClass)
.check-weight { font-family: "Bahnschrift", sans-serif; }.heavy { font-weight: bold; }.normal { font-weight: normal; }.light { font-weight: lighter; }.bookmark { font-weight: normal; font-size: smaller; background-color: yellow; padding: 2px; }
<p class="heavy check-weight">This is a heavy weight</p> <p class="heavy check-weight">This is also a heavy weight</p> <p class="light check-weight">This is a light weight</p> <p class="normal check-weight">This is normal</p>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.