第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Javascript - 如何設(shè)置文本字符串中特定單詞的樣式?

Javascript - 如何設(shè)置文本字符串中特定單詞的樣式?

尚方寶劍之說 2023-07-06 15:22:34
我這里有一個(gè)文本字符串,它將動(dòng)態(tài)生成為以下之一:<h1 id="headline">"Get your FREE toothbrush!"</h1> OR <h1 id="headline">"FREE floss set and dentures!"</h1>由于這將是動(dòng)態(tài)生成的,我無法將<span>“FREE”一詞包裹起來,因此我想使用 Javascript 專門針對(duì)“FREE”一詞,以便我可以使用不同的字體系列和字體顏色對(duì)其進(jìn)行樣式設(shè)置比<h1>設(shè)置的任何樣式都重要。我使用什么方法來做到這一點(diǎn)?
查看完整描述

4 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以搜索子字符串“FREE”并將其替換為樣式化 HTML。如果“FREE”在字符串中出現(xiàn)多次,您可能需要使用正則表達(dá)式(除非您不需要支持 Internet Explorer)。

在你的情況下:

let?str?=?'<h1?id="headline">"FREE?floss?set?and?dentures!"</h1>'
str?=?str.replace(/FREE/g,?'<span?color="red">FREE</span>');


查看完整回答
反對(duì) 回復(fù) 2023-07-06
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

這是一個(gè)使用切片和一些經(jīng)典串聯(lián)的工作示例。


編輯:現(xiàn)在還包括第二個(gè)字符串的代碼。


//get headline by id

var headline = document.getElementById("headline");


//declare your possible strings in vars

var string1 = "Get your FREE toothbrush!"

var string2 = "FREE floss set and dentures!"


//declare formatted span with "FREE" in var

var formattedFree = "<span style='color: blue; font-style: italic;'>FREE</span>"


//target positions for the rest of your string

var string1Position = 13

var string2Position = 4


//concat your vars into expected positions for each string

var newString1 = string1.slice(0, 9) + formattedFree + string1.slice(string1Position);

var newString2 = formattedFree + string2.slice(string2Position)



//check if strings exist in html, if they do then append the new strings with formatted span

if (headline.innerHTML.includes(string1)) {

  headline.innerHTML = newString1 

}

else if (headline.innerHTML.includes(string2)) {

  headline.innerHTML = newString2

}

<!-- As you can see the original string does not have "FREE" formatted -->

<!-- Change this to your other string "FREE floss set and dentures!" to see it work there as well -->

<h1 id="headline">Get your FREE toothbrush!</h1>


查看完整回答
反對(duì) 回復(fù) 2023-07-06
?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

您要查找的屬性是innerHTML,請(qǐng)查看以下示例:


var word = document.getElementById('word');


function changeWord(){

    word.innerHTML = "another";

  word.style.backgroundColor = 'black';

  word.style.color = 'white';

}

<h1 id="headline">

  <span id="word">some</span> base title

</h1>


<button onClick="changeWord()">

  change

</button>


查看完整回答
反對(duì) 回復(fù) 2023-07-06
?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以拆分文本并將關(guān)鍵字“FREE”轉(zhuǎn)換為 span 元素。因此您可以設(shè)置關(guān)鍵字“FREE”的樣式。此方法是安全的,因?yàn)椴粫?huì)更改任何非文本 html 元素。


var keyword = "FREE";

var headline = document.getElementById("headline");

var highlight, index;

headline.childNodes.forEach(child => {

  if (child.nodeType == Node.TEXT_NODE) {

    while ((index = child.textContent.indexOf(keyword)) != -1) {

      highlight = child.splitText(index);

      child = highlight.splitText(keyword.length);

      with(headline.insertBefore(document.createElement("span"), highlight)) {

        appendChild(highlight);

        className = 'highlight';

      }

    }

  }

});

.highlight {

  /* style your keyword */

  background-color: yellow;

}

<div id="FREE">

  <h1 id="headline">"Get your FREE toothbrush! FREE floss set and dentures!"</h1>

</div>


查看完整回答
反對(duì) 回復(fù) 2023-07-06
  • 4 回答
  • 0 關(guān)注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)