【发布时间】:2017-02-12 17:30:39
【问题描述】:
想法:
如果字符串中的单词是用花括号输入的(例如“Lorem {Ipsum} Sit Dolor”),我想突出显示它们。如果它们匹配,则应应用 font-weight: bold。
目前的方法:
var final = [];
var regExp = /([^{]*?)(?=\})/;
var string = document.getElementById("myParagraph").innerHTML;
wordArray = string.split(/\s+/);
for (var i = 0; i < wordArray.length; i++) {
if (regExp.exec(wordArray[i])) {
final.push(wordArray[i]);
}
}
console.log(final);
<body>
<p id="myParagraph">This is a test string with a {bold} text. Lets {see} if this works</p>
</body>
现在我明白了我需要用 CSS 突出显示的话,并会用 jQuery.css() 做一个 jQuery.each,但我现在不确定如何应用样式并自动“刷新”DOM。
【问题讨论】:
-
final.push("<b>" + wordArray[i] + "</b>")怎么样 -
是的,这比使用 jQuery 和 CSS 更好,但我的问题是如何将段落呈现为一个整体 =>
这是一个带有 的测试字符串粗体 文本。让我们看看这是否可行
。 -
jsfiddle.net/gj51tbcn 但看起来你已经有了一个更短更好的选择 ;)
标签: javascript html css regex dom