問題
嗨,我有一些代碼,當單擊按鈕時,contentEditable<p>標記中的所有內容的字體粗細都將為 600(粗體)。
我想知道的是如何在按下按鈕時做到這一點,而不是將 p 標簽中的所有內容設定為 600 字體粗細,而只設定所選文本的樣式。例如,如果您只突出顯示 p 標簽的前兩個單詞并按下按鈕,則只有前兩個單詞的字體粗細會發生變化。
圖片示例
在示例中,當按下按鈕時,只有前兩個單詞的字體粗細會發生變化。

鏈接到包含代碼的小提琴:https : //jsfiddle.net/AidanYoung/9tg4oas5/
uj5u.com熱心網友回復:
這是您的解決方案。
function changeBold() {
const text = window.getSelection().toString();
var btn = document.createElement('span');
btn.innerHTML = text;
btn.style.fontWeight = 'bold';
document.execCommand('insertHTML', false, btn.outerHTML);
}
<p contenteditable="true" id="contenttxt">
Some text in this paragraph tag
</p>
<button onclick="changeBold()">Bold selected text</button>
uj5u.com熱心網友回復:
utiliza la etiqueta span y un identificador
嗨,使用跨度標簽并添加ID
function changeBold() {
document.getElementById("strongC").style.fontWeight = "600";
}
<p contenteditable="true" id="contenttxt"><span id="strongC">Some text </span>in this paragraph tag</p>
<button onclick="changeBold()">
Bold selected text
</button>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/381644.html
標籤:javascript html 查询 css 内容可编辑
上一篇:如何在滑塊下顯示值?
