javascript - 在第一个 <br> 之前设置文本区域中的文本样式

标签 javascript css

如何设置文本区域第一行到第一个换行符的样式?

使用::first-line 可以工作,当在移动设备上查看时,不会考虑流到第二行的最后一个词/词。

<p>
The first line of my paragraph.<br>
Another line.<br>
And another line.<br>
And yet another line.<br>
</p>

我希望在这里找到解决方案,但没有运气。 JSFiddle

谢谢

最佳答案

您可以使用纯 javascript 在 span 中的第一个 br 之前包装文本。

var address = document.getElementById('address');
var content = address.innerHTML.split('<br>');
content[0] = '<span class="red">' + content[0] + '</span>';

address.innerHTML = content.join('<br>');
.red {
  color: red;
}
<div id="address">
  Joe Dirt<br>
  PO Box 842<br>
  New York NY 10012<br>
  800-555-5555<br>
  <br>
</div>

更新:对于多个元素,您可以使用 querySelectorAll,然后循环每个元素并添加 span

var address = document.querySelectorAll('.address');

[...address].forEach(function(e) {
  var content = e.innerHTML.split('<br>');
  content[0] = '<span class="red">' + content[0] + '</span>';
  e.innerHTML = content.join('<br>');
})
.red {
  color: red;
}
<div class="address">
  Joe Dirt<br> PO Box 842<br> New York NY 10012<br> 800-555-5555<br><br>
</div>

<div class="address">
  Joe Dirt<br> PO Box 842<br> New York NY 10012<br> 800-555-5555<br><br>
</div>

<div class="address">
  Joe Dirt<br> PO Box 842<br> New York NY 10012<br> 800-555-5555<br><br>
</div>

关于javascript - 在第一个 <br> 之前设置文本区域中的文本样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46707776/

相关文章:

javascript - 需要帮助从日期中提取年份?

php - PHP 中的 JS 警报作为 AJAX 应用程序的一部分

javascript - 在php中htaccess重定向url后无法加载css和js

html - float 元素是否像定位元素一样创建单独的堆叠上下文?

html - 具有 float 子项的绝对定位包装器不会比其父项展开更多

javascript - 删除 JavaScript 中的 if if 语句 true 禁用

javascript - $(document).ready 中 Uncaught ReferenceError

css - LESS 生成的样式表不起作用

html - 如何给表格中的每个td赋予不同的内容

javascript - 当我点击图片时如何让我的网站滚动到顶部