2 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
您需要轉(zhuǎn)義星號,因?yàn)樗谡齽t表達(dá)式中也很重要。使用\\*:
編輯:按照@DBS的建議,最好在突出顯示功能本身中添加此轉(zhuǎn)義檢查。代碼已修改。
jQuery.fn.highlight = function(str, className) {
var escapeRegExp = function(string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
}
var regex = new RegExp(escapeRegExp(str), "gi");
return this.each(function() {
this.innerHTML = this.innerHTML.replace(regex, function(matched) {
return "<span class=\"" + className + "\">" + matched + "</span>";
});
});
};
$("p").highlight("*", "highlight");
$("label").highlight("*", "highlight");
span.highlight {
padding: 5px;
display: inline-block;
color: #F60;
}
p {
font-family: Verdana;
}
input::placeholder {
color: #F60;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
Let's *go Zapata let's do it for the revolution, Zapatistas*!!!
</p>
<label for="txt">Email* </label>
<input placeholder="Email*" type="text" id="txt"/>

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
我嘗試輸入代碼,但發(fā)生了奇怪的事情。如果我將所有內(nèi)容都放入 a 中<div>
,它就可以正常工作,但是我無法將腳本應(yīng)用到電子郵件表單的字段
- 2 回答
- 0 關(guān)注
- 196 瀏覽
添加回答
舉報(bào)