javascript - 如何使用内联 JS 定位 div 的 firstLetter?
问题描述
我在 WYSIWYG 广告构建器中工作,并尝试以以下方式设置第一个字母(Hello 中的“H”)的样式,内联 JS,我仅限于此。
<script>
div.innerHTML = unit.greeting; //string value
div.style.color = "gray"; //works
div.firstLetter.style.color = "orange"; // doesnt work
</script>
.
所见即所得的输出:
<div>
Hello
</div>
解决方案
你不能用内联样式来做(不将第一个字母包装在另一个元素中),但你可以通过 JavaScript 添加一个类,并用 CSS 来做:
var div = document.getElementById("target");
div.className = "the-class";
.the-class {
color: gray;
}
.the-class:first-letter {
color: orange;
}
<div id="target">
Hello
</div>
如果您还需要动态生成样式:
var div = document.getElementById("target");
div.className = "the-class";
var style = document.createElement("style");
style.type = "text/css";
style.textContent =
'.the-class { ' +
' color: gray; ' +
'} ' +
'.the-class:first-letter { ' +
' color: orange; ' +
'}';
document.body.appendChild(style);
<div id="target">
Hello
</div>
推荐阅读
- pyspark - 将 Pyspark 数据框保存到没有标题的 csv 中
- go - 复数的离散积分会产生错误的结果
- python - 如何比较特定列中两行的值?
- javascript - TypeError:无法读取未定义的属性“contentWindow”
- flutter - 如何使用内置值创建嵌套对象
- ios13 - ios 14 中的 UICollectionViewCompositionalLayout 中的弹性标题?
- reactjs - 使用反应路由器时的 Spring Boot 和 React 文件映射
- c# - 当用户单击未设置缓存的返回按钮时,防止 ASP.NET Webforms 中的页面过期消息
- php - Wordpress 间歇性失去数据库连接
- c++ - 除了调用 SetWindowCompositionAttribute 之外,对窗口进行模糊处理的要求是什么?