亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在字符串中選擇星號并設置其樣式?

如何在字符串中選擇星號并設置其樣式?

繁星淼淼 2023-12-25 16:31:16
我需要為特殊字符設置特定顏色。具體來說,我想將*a 中的星號設置<div>為 color red,而不直接干預<div>.我在網上找到了這個項目,它實際上是為角色設置背景顏色,但是如果我將腳本改編為 * 符號,它就不起作用。輸出示例:$("p").highlight("*","highlight");jQuery.fn.highlight = function (str, className) {        var regex = new RegExp(str, "gi");    return this.each(function () {        this.innerHTML = this.innerHTML.replace(regex, function(matched) {return "<span class=\"" + className + "\">" + matched + "</span>";});    });};$("p").highlight("*","highlight");span.highlight{   background:#F60;    padding:5px;    display:inline-block;    color:#FFF;}p{   font-family:Verdana;   }<p>    Let's *go Zapata let's do it for the revolution, Zapatistas*!!!   </p>如果我不Z輸入星號,則*腳本將不起作用。有人可以幫忙嗎?
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

您需要轉義星號,因為它在正則表達式中也很重要。使用\\*:


編輯:按照@DBS的建議,最好在突出顯示功能本身中添加此轉義檢查。代碼已修改。


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"/>


查看完整回答
反對 回復 2023-12-25
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

我嘗試輸入代碼,但發生了奇怪的事情。如果我將所有內容都放入 a 中<div>,它就可以正常工作,但是我無法將腳本應用到電子郵件表單的字段

https://img1.sycdn.imooc.com/65893e070001984816030770.jpg


查看完整回答
反對 回復 2023-12-25
  • 2 回答
  • 0 關注
  • 177 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號